【发布时间】:2019-06-11 10:34:59
【问题描述】:
这个问题之前已经回答过,但解决方案不适用于我的特定情况。
col1 | col2
A | 0
B | 1
A | 0
A | 1
B | 0
我基本上是在找这个:
col1 | col2 | Percentage
A | 0 | 0.67
A | 1 | 0.33
B | 0 | 0.50
B | 1 | 0.50
两列都是因子。以下解决方案是我在其他线程中不断发现的:
df %>% group_by(col1, col2) %>% summarise(n=n()) %>% mutate(freq = n / sum(n))
or something along those lines.
事实上,group_by 似乎并没有真正做任何事情。它没有给我一个“n”或“freq”列。不知道我做错了什么。是因为我在处理因素吗?此外,如果不明显,列中提供的值是假设值。
【问题讨论】:
-
我不明白这个问题。您的代码提供与预期完全相同的输出
-
得到以下错误:错误:n() 只能在数据上下文中调用调用
rlang::last_error()以查看回溯 -
你能检查一下你的
dplyr版本吗?我在R 3.6.0上使用了packageVersion('dplyr')# [1] ‘0.8.1’ -
您能否尝试重新进行会话,因为我无法重现您的问题
-
好的,我会记住的。感谢您的帮助。