3

次のような data.frame を作成しようとしています:

a = "foo"
bar = data.frame(a = 1:3)

しかし、列の名前は であり、 ではaありませんfoo:

> bar
  a
1 1
2 2
3 3

data.frame を作成した後に列の名前を変更できますが、同じ data.frame コマンドで変数によって名前を簡単に割り当てるにはどうすればよいですか?

4

4 に答える 4

9

この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
于 2012-10-09T14:50:18.110 に答える
5

R が指定した引数名を解釈する方法が原因で、ここでやりたいことができないと思います。事実上、R がラベル自体ではなくget(a) = 1:3オブジェクトとして格納された値を取得するようにしたいのですが、そのイディオムはここでは許可されていません。aa

私はこれを行います:

> a <- "foo"
> bar <- data.frame(1:3)
> names(bar) <- a
> 
> bar
  foo
1   1
2   2
3   3
于 2012-10-09T13:59:19.667 に答える
2

試す:

a = structure(data.frame(1:3), names="foo")
> a
foo
1   1
2   2
3   3
于 2012-10-10T03:44:29.130 に答える