さて、R関係の初記事です。
もともとSASを使っていてSASマクロを使ったループが大変便利だったわけです。
Rはそこまで柔軟ではないものの、次の方法でループ処理できます。
loop1 <- c("A","B","C")
A <- c(1,1,1)
B <- c(2,2,2)
C <- c(3,3,3)
for (i in 1:length(loop1)){
print(paste0("ループ",i,"回目"))
codeX <- paste0("test <- ",loop1[i], ";"
,"print(sum(test))")
eval(parse(text=codeX))
}
結果はこちら
[1] "ループ1回目"
[1] 3
[1] "ループ2回目"
[1] 6
[1] "ループ3回目"
[1] 9
ポイントはeval()とparse()です。 文字列としてcodeXに放り込んだコードを実行してくれます。
他にも方法あるでしょうが、1つの方法として。