6

我猜这对于有经验的人来说很简单……如何使用变量的值将其分配为数据框列名?假设我有一个简单的数据框 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
4

2 回答 2

3

用数字命名列不是最好的主意,但这会起作用:

df[,paste(n)] <- c(3,3,3)
于 2013-09-04T19:07:14.073 回答
2

你也可以这样做:

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

尽管如前所述,将数字作为列名并不是一个好习惯。

于 2013-09-04T19:09:56.167 回答