【发布时间】:2018-03-01 13:13:39
【问题描述】:
我想对多个组执行简单的计算,其中来自单独数据帧的列根据唯一标识符相乘。这是第一个数据框:
year1 <- c(rep(2016,3),rep(2017,3),rep(2018,3))
group <- rep(letters[1:3],3)
prop <- c(0.3,0.6,0.1,0.4,0.3,0.3,0.2,0.5,0.3)
df1 <- as.data.frame(cbind(year1,group,prop))
df1$prop <- as.numeric(as.character(df1$prop))
这是第二个:
year2 <- c(2016,2017,2018)
value <- c(325,483,742)
df2 <- as.data.frame(cbind(year2,value))
我现在想在第一个数据框中添加一列,其中 df1 中的每个 year1 和 group prop 与 value 相乘以得到 df2 中对应的 year2 .
理论上,使用group_by 和mutate 的解决方案可以解决问题,但我不知道如何使用这些命令为两个数据帧索引year。任何建议将不胜感激。谢谢!
【问题讨论】:
-
不要在
data.frame之前使用cbind。它打破了这个例子,使year1不能很好地加入year2,一个数字......例如,做df1 = data.frame(year1,group,prop)
标签: r loops dplyr data.table grouping