如何在 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()
我是 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()