次のような data.frame を作成しようとしています:
a = "foo"
bar = data.frame(a = 1:3)
しかし、列の名前は であり、 ではa
ありませんfoo
:
> bar
a
1 1
2 2
3 3
data.frame を作成した後に列の名前を変更できますが、同じ data.frame コマンドで変数によって名前を簡単に割り当てるにはどうすればよいですか?
このsetNames()
関数はあなたのために働くはずです:
a <- "Numbers"
b <- "Letters"
bar <- setNames(data.frame(1:3, letters[1:3]), c(a, b))
bar
# Numbers Letters
# 1 1 a
# 2 2 b
# 3 3 c
R が指定した引数名を解釈する方法が原因で、ここでやりたいことができないと思います。事実上、R がラベル自体ではなくget(a) = 1:3
オブジェクトとして格納された値を取得するようにしたいのですが、そのイディオムはここでは許可されていません。a
a
私はこれを行います:
> a <- "foo"
> bar <- data.frame(1:3)
> names(bar) <- a
>
> bar
foo
1 1
2 2
3 3
試す:
a = structure(data.frame(1:3), names="foo")
> a
foo
1 1
2 2
3 3