根据数据框B中的条件,从数据框A的一列求和

时间:2018-10-17 12:45:45

标签: r dataframe sum

我有以下数据框(em)(摘录):

Year  emissions  Poll    Country  Sector 
1993  0.00000    CO2     Austria  6 
2006  0.00000    CO2     Austria  6.3  
2015  0.00000    CO2     Austria  6   
1998  12.07760   CO2     Austria  5.1  
1992  11.12720   CO2     Austria  5  
1995  11.11040   CO2     Austria  5  
2006  10.26000   CO2     Austria  5 
1998  0.00000    CO2     Austria  6.4.a

然后我有另一个数据框(UN_ETScat)。此数据框包含某些(但不是全部)sector因素,这些因素也包含在em数据框中。鉴于{{1}中包含sum(在第二个数据帧中标记为emissions),因此我想获取数据帧em中列sector的{​​{1}} }}。

UN_Cat

为此,我创建了变量UN_ETScat,该变量表示上方数据框中的列 UN_Cat Represented_in_ETS_Cat 1 1.A.1.a 20 2 1.A.1.b 20 3 1.A.2.a 20 4 1.A.2.b 20 5 1.A.2.c 20 6 1.A.2.d 20 7 1.A.2.e 20 8 1.A.2.f 20 9 1.A.2.g 20 10 1.A.3.e 20 11 1.A.4.a 20 12 1.A.4.c 20 13 1.B 20 14 1.A.1.b 21 15 1.A.1.c 21 16 1.A.2.c 21 17 1.B.2.c 21

作为一个外行,我决定这样编写代码:

x

但是,我只得到UN_Cat,这是不正确的。我做错了什么?感谢您的帮助和建议。

Nordsee

1 个答案:

答案 0 :(得分:2)

如果我对你的问题正确:

sum(em$emissions[ em$sector %in% unique(UN_ETScat$UN_Cat) ])

可能会解决您的问题。