我有这个data.frame:
Country_ID Partner_ID Export_Value
1995 CZE CHN 50
1996 CZE CHN 60
1997 CZE CHN 90
1998 CZE CHN 100
1995 CZE DEU 50
1996 CZE DEU 160
1997 CZE DEU 500
1998 CZE DEU 400
现在这还不是全部数据。,年份为1995-2016年,Partner_ID由196个国家/地区组成。因此,我只显示了一张图片。
我想要实现的是给定年份中所有可能的Partner_ID的Export_Value之和。在上面的数据中,应该是1995 = 100,1995 = 220等。
然后,我将这些数字用作支配符,以获取Export_Value旁边的 Export_Value _%列。
Country_ID Partner_ID Export_Value Export_Value_%
1995 CZE CHN 50 0.5 (50%)
1996 CZE CHN 60 0.27
1997 CZE CHN 90 0.15
1998 CZE CHN 100 0.2
1995 CZE DEU 50 0.5
1996 CZE DEU 160 0.73
1997 CZE DEU 500 0.85
1998 CZE DEU 400 0.8
我可能想到的另一种可能是创建一个新列,其中填充与所有合作伙伴的年度总值相加的结果。但是,它的长度不会与数据框中的其他列一样长(通过年度导出,我可以在excel中进行数学运算,并且可以得到以后的工作结果。)
答案 0 :(得分:0)
查看dplyr软件包和tidyverse。
library(dplyr)
df<- df %>%
group_by(Year, Partner_ID) %>%
summarise(Totals = sum(Export_Value),
Rate = (n()/sum(Export_Value))
)
n()是该组中的条目数。