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

use*_*328 6 variables r 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
Run Code Online (Sandbox Code Playgroud)

当我只是尝试分配一个新列时

n<-15
df$n<-c(3,3,3)
Run Code Online (Sandbox Code Playgroud)

列的名称只是n.

  a b n
1 1 2 3
2 1 2 3
3 1 2 3
Run Code Online (Sandbox Code Playgroud)

Señ*_*r O 3

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

df[,paste(n)] <- c(3,3,3)
Run Code Online (Sandbox Code Playgroud)

  • 嗯@在这里使用“paste”的副作用 - 只需使用“as.character” (2认同)