如何在 R 中格式化我的数据,以显示一个新列,其中的值占每个相关期间列总数的百分比?

How do I format my data in R for it to show a new column with values as a percentage of the column total for each relevant period?

我是 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 枢轴 table(以更好地帮助理解我正在寻找的内容):

我希望 R 中的新数据框(我们称之为 mydata2)如下所示:

如何实现?

试试这个:

library(dplyr)
df <- df %>%
  group_by(Period) %>%
  mutate(pct_year = Amount/sum(Amount)*100) %>%
  ungroup()