【发布时间】:2017-11-13 04:30:07
【问题描述】:
我是一个新的 R 程序员,可能遇到一个非常简单的问题。
我有一个 dplyr 总结/传播 sn-p 如下:
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)
但这给了我这张桌子:
这些值是正确的...但我需要全部放在一行上。 ??
【问题讨论】:
-
嗨 Cedric,我试过了……但是 mtcars 代码给了我 7 行(每个种族总和一个)和 8 列(每个种族一个)。我只需要一行...就像 Excel "% of Row" 计算。
-
对不起,你得到了正确的答案真好!
-
@JohnLaPlante 如果 gatsky 的回答有帮助,请考虑通过单击答案左侧的复选标记来接受它作为答案。
标签: r