R で変数名を動的に決定する

プログラミング言語としては珍しいと思うけど、統計解析システム R では配列変数とは別に、動的な変数の選択方法があった。

assign(string, value) で string という名前の変数に値を代入できる

> assign("x", 100)
> x
[1] 100

get(string) で string という名前の変数から値を取得できる

> x<-100
> get("x")
[1] 100

assign, get と sprintf を組み合わせると動的に変数名を生成して利用できる

> i<-10
> assign(sprintf("x%d", i), 100)
> x10
[1] 100

x0, x1, x2, ... 以外にも、x-red, x-green, x-blue など人間に分かりやすいように変数名をつけることができそう。コンパイラ言語には不要だけど、R のように変数をインタラクティブにも操作する場合はちょっと嬉しい。

ところで R は名前が短すぎて Google とかで検索しづらいのだが何とかならないか。