【发布时间】:2015-06-03 12:39:10
【问题描述】:
我想向数据框中添加新列,其中填充了存储在另一个数据框中的预定义值。最好的方法是什么?
很高兴:如果新变量出现在 d2 中,是否可以使代码动态化?
可重现代码的数据
d1 <- head(iris) # dataframe 1 ----------
var <- c("var1", "var2", "var3")
val <- c(5, 7, 1)
d2 <- as.data.frame(cbind(var, val)) # dataframe 2 ----------
预期输出
第一个数据帧
第二个数据帧
期望的输出
最好的问候
【问题讨论】:
-
d1$var1 <- d2[1, 2]; d1$var2 <- d2[2, 2]; d1$var3 <- d2[3, 2]怎么样? :) -
仅供参考,
as.data.frame(cbind(x,y))不太好,因为cbind构造了一个矩阵,强制x和y具有相同的类(此处为字符/字符串)。最好做data.frame(x,y)