pasteで作成した言語オブジェクトに値を代入
paste関数を使用して作成した文字列に,値を代入する方法です.
ふつうに代入しようとしてもエラーになりますが,
> paste("who", "are", "you", sep = "") <- 31 以下にエラー paste("who", "are", "you", sep = "") <- 31 : 付値対象は非言語オブジェクトに展開されます >
assign関数を使えば代入できるようになります.
> assign(paste("who", "are", "you", sep = ""), 31) > whoareyou [1] 31 >
連続的に代入したい場合には,
> myname <- c("apple", "orange", "grape") > myvalue <- c(32, 33, 34) > for( i in 1:3){ + assign(paste("I", "am", myname[i], sep = ""), myvalue[i]) + } > > Iamapple [1] 32 > Iamorange [1] 33 > Iamgrape [1] 34 >
こんな感じに.