如何将变量名称向量添加到R中的数据框?

时间:2014-08-07 07:40:34

标签: r

我有一个变量名称向量,其中包含我想在数据框中添加的值。

例如var_add=c("var1","var2")

此处var1var2是我要在数据框中添加的变量的名称。

这是我写的代码

for (i in var_add){
   assign(paste("data_frame$",var_add[i],sep=''),get(var_add[i]))
}

我该怎么做?

2 个答案:

答案 0 :(得分:5)

使用mget很容易。这是一个例子。

dat <- data.frame(a = 1:3, b = 2:4)
#   a b
# 1 1 2
# 2 2 3
# 3 3 4

var1 <- 3:5
var2 <- 4:6

varnames <- c("var1", "var2")

dat[varnames] <- mget(varnames)

dat
#   a b var1 var2
# 1 1 2    3    4
# 2 2 3    4    5
# 3 3 4    5    6

答案 1 :(得分:1)

使用assign(@Sven Hohenstein的数据集)

var_add <- c("var1", "var2")

for(i in var_add){
assign('dat', `[[<-`(get('dat'), i, value=get(i)))
}
dat
#  a b var1 var2
#1 1 2    3    4
#2 2 3    4    5
#3 3 4    5    6