Rの操作はコマンドを組み合わせて、データを処理し結果を出力します。そして、多くの実務ではデータ内に項目が1つであることは少なく複数項目があり、項目ごとに何らかの処理を繰り返し結果を出力します。そこで繰り返しと条件判断のコマンドを紹介します。
繰り返しのコマンド:for ( 要素 in 処理回数 ) {処理}
コマンド for は要素(多くは英字でiやm等と1文字で設定)に対して処理回数分を繰り返しカッコ内の処理をします。例として1から7までの数列にそれぞれ3を足して出力するコードを紹介します。
data <- c(1, 2, 3, 4, 5, 6, 7) for (i in seq(data)) { cat(i + 3, "\n") } #結果 4 5 6 7 8 9 10
なお、inの後ろをseq(data)で繰り返し範囲を取得しています。1:7でもいいのですが、数字で範囲を指定するよりも処理するデータの長さで指定すると間違いが減ります。
条件判断のコマンド:if (条件) {処理1} else {処理2}
コマンド if else は条件が満たされていれば処理1を実行し、満たされていなければ処理2を実行します。例として1から7までの数列で偶数のみ3を足して出力するコードを紹介します。
data <- c(1, 2, 3, 4, 5, 6, 7) for(i in seq(data)){ if (i%%2 == 0){ cat(i + 3, "\n") }else{ #奇数なら処理しない。空白 } #ifのカッコ } #forのカッコ #結果 5 7 9
また、単純にifelse(条件, 処理1, 処理2)としても処理できます。しかし、結果にNAが含まれるので処理に工夫が必要です。
ifelse(data%%2 == 0, data + 3, NA) #結果 [1] NA 5 NA 7 NA 9 NA
少しでも、あなたのウェブ解析が楽になりますように!!
もし、不明点がありましたらこちらからお問い合わせください。