R 根据数据帧B中的条件,从数据帧A的一列求和
我有以下数据帧(R 根据数据帧B中的条件,从数据帧A的一列求和,r,dataframe,sum,R,Dataframe,Sum,我有以下数据帧(em)(摘录): 然后我有另一个数据帧(UN_ETScat)。此数据帧包含某些但不是全部的扇区因子,这些因子也包含在em数据帧中。鉴于扇区(在第二个数据帧中标记为UN_Cat)包含在UN_ETScat中,我想获得数据帧em中排放量列的总和 UN_Cat Represented_in_ETS_Cat 1 1.A.1.a 20 2 1.A.1.b 20
em
)(摘录):
然后我有另一个数据帧(UN_ETScat
)。此数据帧包含某些但不是全部的扇区
因子,这些因子也包含在em
数据帧中。鉴于扇区
(在第二个数据帧中标记为UN_Cat
)包含在UN_ETScat
中,我想获得数据帧em
中排放量列的总和
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
作为一个外行,我决定这样编写代码:
sum(em$emissions[UN_ETScat$x])
但是,我只得到了[1]0
,这是不正确的。我做错了什么?谢谢你的帮助和建议
如果我没弄错你的问题,请看:
sum(em$emissions[ em$sector %in% unique(UN_ETScat$UN_Cat) ])
可能会解决您的问题。@zx8754这是两个独立的数据帧。输出量很大number@bobbel谢谢,听起来不错,但结果是[1]0您能提供一个小示例输入2数据帧,它们共享扇区代码吗?从您的示例输入数据帧中,当然总和为零,因为扇区ID没有重叠。“我已经创建了变量x”。。。另外,请添加您创建x
的方式和原因?@zx8754我尝试了与这里一些人提供的相同的代码,并将x
替换为x
所代表的列的标题。它现在正在工作。我刚刚读了你的帖子,是的,x
是不必要的,并且是由于任何原因导致了这个问题。再次感谢@zx8754,谢谢,但这里的结果是零。
sum(em$emissions[ em$sector %in% unique(UN_ETScat$UN_Cat) ])