R使用变量的值作为数据框列名

时间:2013-09-04 18:56:52

标签: r variables dataframe

我猜这对于经验丰富的用户来说很简单...如何使用变量的值将其指定为数据框列名?假设我有一个如下所示的简单数据框df,以及一个根据用户输入改变值的变量n。我怎么能插入一个新的数据框列,其名称的值为n?我还希望将n的值与一个简单的字符串连接起来。谢谢。

df<-data.frame(a=c(1,1,1),b=c(2,2,2))

  a b
1 1 2
2 1 2
3 1 2

当我只是尝试将新列指定为

n<-15
df$n<-c(3,3,3)

列的名称只是n。

  a b n
1 1 2 3
2 1 2 3
3 1 2 3

2 个答案:

答案 0 :(得分:3)

使用数字命名列不是最好的主意,但这可行:

df[,paste(n)] <- c(3,3,3)

答案 1 :(得分:2)

你也可以这样做:

 df <- cbind(df,c(3,3,3))
 names(df)[ncol(df)] <- n

虽然如前所述,将数字作为列名称是不好的做法。

相关问题