我是一个新的R程序员,可能是一个非常简单的问题。
我有一个dplyr汇总/传播片段如下:
enroll_data_eth_sum <- group_by(enroll_data_distinct, EMISEthnicity) %>%
summarize(freq = n()
) %>%
spread(EMISEthnicity, freq)
生成此表:
我需要的是该表是行的百分比...而不是值。我尝试过一些东西(比如freq =(n = n())/ sum(n)),但这只是给了所有的1(反射时可能是正确的)。
有什么想法?我知道这很简单......谢谢!!
约翰
更新:我根据Cedric的帖子尝试了以下内容:
enroll_data_eth_sum <- group_by(enroll_data_distinct, EMISEthnicity)
%>%
summarize(n = n()) %>%
mutate(freq = n / sum(n)) %>%
spread(EMISEthnicity, freq)
但那给了我这张桌子:
值是正确的......但我需要一行。 ??
答案 0 :(得分:1)
摆脱n列,例如:
enroll_data_eth_sum <- group_by(enroll_data_distinct, EMISEthnicity) %>%
summarize(n = n()) %>%
mutate(freq = n / sum(n)) %>%
select(-n) %>%
spread(EMISEthnicity, freq)