r语言 - 合并两个文件中的行条目,同时添加名称通用的权重



我在尝试将两个数据帧合并为一个数据帧时遇到了问题。

Data frame structure :1  
    FROM        TO          WEIGHT
1   abc_1   Dummy           100
2   abc_2   Dummy           20
3   xyz_1   abc_3           40
Data frame structure :1  
    FROM        TO          WEIGHT
1   abc_4   Dummy_7         100
2   abc_7   Dummy_9         2000
3   xyz_1   abc_3           400

我想合并两个具有相同结构的数据框,并在两个条目中的 FROM 和 TO 字段相同时添加权重。否则,我只想将一个条目与另一个条目合并。我想要一个新的数据帧来提供输出

    FROM        TO          WEIGHT
1   abc_1   Dummy           100
2   abc_2   Dummy           20
**3 xyz_1   abc_3           440**
4   abc_4   Dummy_7         100
5   abc_7   Dummy_9         2000

谢谢

只需按类别使用aggregate即可对各种条目求和。尝试在"rbind"值上使用with以将它们放在同一个对象中。

  with(  rbind( df1, df2), aggregate(WEIGHT, list(FROM=FROM, TO=TO) , sum) ) 
   FROM      TO    x
1 xyz_1   abc_3  440
2 abc_1   Dummy  100
3 abc_2   Dummy   20
4 abc_4 Dummy_7  100
5 abc_7 Dummy_9 2000

with dplyr

require(dplyr)
df1<-read.table(header=T,text="
FROM        TO          WEIGHT
1   abc_1   Dummy           100
2   abc_2   Dummy           20
3   xyz_1   abc_3           40")
df2<-read.table(header=T,text="
FROM        TO          WEIGHT
1   abc_4   Dummy_7         100
2   abc_7   Dummy_9         2000
3   xyz_1   abc_3           400")
dfmerged<-
rbind(df1,df2) %.% group_by(FROM,TO) %.% summarise (WEIGHT=sum(WEIGHT))
> dfmerged
Source: local data frame [5 x 3]
Groups: FROM
FROM      TO WEIGHT
1 abc_1   Dummy    100
2 abc_2   Dummy     20
3 xyz_1   abc_3    440
4 abc_4 Dummy_7    100
5 abc_7 Dummy_9   2000

最新更新