【发布时间】:2020-09-02 04:46:49
【问题描述】:
我有两个数据框:
f <- data.frame(
CF = c(1,2,3,4,1,2,3,4),
Season = c("Fall", "Spring", "Summer", "Winter","Fall", "Spring", "Summer", "Winter"),
Tmax = c(51,65,83,38,52,68,90,45),
Tmin = c(30,40,53,19, 32,43,60,23))
h <- data.frame(
Season = c("Fall", "Spring", "Summer", "Winter"),
Tmax = c(47,60,79,35),
Tmin = c(27,36,52,16)
)
我想根据Season 和列(即Tmax)从f 中减去h。我想创建一个具有增量值的新数据框,如下所示:
delta <- data.frame(
CF = c(1,2,3,4,1,2,3,4),
Season = c("Fall", "Spring", "Summer", "Winter","Fall", "Spring", "Summer", "Winter"),
Tmax_delta = c(4,5,4,3,5,8,11,10),
Tmin_delta = c(3,4,1,3,5,7,8,7)
)
我该怎么做? Dplyr 解决方案总是受到赞赏。谢谢!
【问题讨论】:
-
看来您在这里并不需要
dplyr。你检查merge函数了吗? -
到目前为止,您尝试过哪些无效的方法?
-
这可以帮助
merge(f,h,by=c('Season'),all.x=T)