我有一个变量名称向量,其中包含我想在数据框中添加的值。
例如var_add=c("var1","var2")
此处var1
和var2
是我要在数据框中添加的变量的名称。
这是我写的代码
for (i in var_add){
assign(paste("data_frame$",var_add[i],sep=''),get(var_add[i]))
}
我该怎么做?
答案 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