我有两个数据帧。
Seasons Frequency
DJF 1
JJA 10
MAM 20
SON 30
和
Seasons Frequency
DJF 1
JJA 10
MAM 20
SON 30
如何合并这两个dfs,同时添加频率值?
预期输出:
Seasons Frequency
DJF 2
JJA 20
MAM 40
SON 60
答案 0 :(得分:1)
使用包plyr
require(plyr)
ddply(rbind(df1, df2),
.(Seasons),
summarize,
Frequency=sum(Frequency))
答案 1 :(得分:0)
由于2个数据帧具有相同的结构,因此基数R的单行代码也将执行:
> df3 = data.frame(Seasons = df1$Seasons, Frequency = df1$Frequency+df2$Frequency)
> df3
Seasons Frequency
1 DJF 2
2 JJA 20
3 MAM 40
4 SON 60
答案 2 :(得分:0)
如果它们按顺序排列,没有丢失的标签,您只需添加第二列即可。
df1$Frequency <- df1$Frequency + df2$Frequency)
如果没有,您可以合并Seasons值,然后将两者合并在一起并删除无关列。
final.df <- merge(df1, df2, by='Seasons')
final.df$Frequency <- final.df$Frequency.x + final.df$Frequency.y
final.df$Frequency.x <- NULL
final.df$Frequency.y <- NULL