未分類

【R言語】Rでのプログラミング  その2

この記事は約2分で読めます。

・条件式と論理記号

 

==:等しい !=:等しくない !:~でない

 

・条件ごとに異なる処理を行う

 

条件ごとに異なる処理を行う場合はswitch()を使います。

 

> x<-2
> y<-5
> z<-“+”
> switch(z,
+ “*”={print(“掛け算”);x*y},
+ “+”={print(“足し算”);x+y})
[1] “足し算”
[1] 7

 

第1引数には条件を指定します。次に続くのが実行式であり、文字列と「;」を挟んだ右側にあるやつです。

 

 

・繰り返し文

 

次はスクリプトを書く上で絶対必須である繰り返し分を取り上げていきます。Rでは、for()で繰り返し処理ができます。

 

試しに1から10000までの数字の合計を繰り返しで計算してみます。

 

> x<-1:10000
> i<-0
> for(a in x){
+ i<-i+a
+ }
> i
[1] 50005000

 

これは足し算の結果を「i」というオブジェクトに保存し、そしてループで「i」を上書きしていくというものです。

 

また繰り返す回数をしてしないときはwhile()を使います。

 

> i<-0
> while(i<100){
+ i<-i+1
+ }
> print(i)
[1] 100

 

ここで「i」の更新方法(上の式の i<-i+1 の部分)を指定忘れると無限にループになりRを強制終了しないといけなくなるので注意しましょう。

 

 

・ループの終了とスキップの指定

 

nextbreakを使えば条件が満たされた場合にループを終了したりスキップすることができます。

 

 

 

> i<-0
> while(i<100){
+ i<-i+1
+ if(i%%30!=0)next
+ if(i%%90==0){
+ cat(“\n”)
+ break
+ }
+ cat(i,”\t”)
+ }
30 60

 

この式は30の倍数になったら画面に表示し90で打ち切るというものです。30で割れるかどうかは%%演算子(余りを求める演算子)で調べられます。

 

もちろん割り切れる場合は0ですが、割り切れない場合は0ではありません。なので、条件式の後にnextを加えることによって、割り切れなかったら次に行くとしています。

 

そしてiが90になったら、cat()で結果を画面に出力させ、breakでループを打ち切るとしています。

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました