Rで、変数の値を変数名や列名にする
タイトルの意味分かりました? 例えば、x00, x01, x02, ..., x99 という名前の100個の変数を作りたいとか、それらに値を設定したいというときに使える方法です。(そんなシチュエーションがあるかどうかは別として) 上記の変数に、0, 1, 2, ..., 99 の値を設定したいとき、 x00 <- 0 x01 <- 1 x02 <- 2 ... x99 <- 99 を全部書けばいいわけですが、それは大変なので、下記のようにできます。 for(i in 0:99){ # 命令の文字列を作る s <- paste("x", sprintf("%02d",i), " <- ", i, sep="") # 文字列を命令として実行する eval(parse(text=s)) } ls() # x00~x99の100個の変数ができていることを確認 このevalとparseのコンビを、列名に使いたい場合は、↓こんな感じでどうでしょうか。 ちなみにRには"letters"なる定数が用意されていて、その中身にはaからzまでの文字が格納されています。 > letters [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" [11] "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" [21] "u" "v" "w" "x" "y" "z" これらを列名にもつ、データフレームを作ってみましょう。 ...