我是R的新手,我有以下csv格式的数据框(称为mydata1):
Period Market Amount
FY 15-16 UK 500
FY 15-16 France 200
FY 15-16 Germany 300
FY 15-16 Poland 100
FY 16-17 UK 700
FY 16-17 France 500
FY 16-17 Germany 200
FY 16-17 Poland 100
我需要该数据框向我显示一个新列,其中每个市场的权重(以百分比表示)超过其相关期间的总金额。
我在下面显示使用相同数据制作的Excel数据透视表(以便更好地帮助理解我要查找的内容):
我希望R中的新数据框(让我们称之为mydata2)如下所示:
我如何实现这一目标?
答案 0 :(得分:1)
试试这个:
library(dplyr)
df <- df %>%
group_by(Period) %>%
mutate(pct_year = Amount/sum(Amount)*100) %>%
ungroup()