【发布时间】:2019-06-07 21:03:14
【问题描述】:
给定数据
> data
Month Alpha
1 Jan A
2 Jan B
3 Jan A
4 Feb B
5 March A
6 March A
7 April A
需要的输出
请通过 group_by() 或 spread() 函数提供不使用 dcast 函数的解决方案。无法正常使用功能。
【问题讨论】:
-
考虑告诉我们您为什么不使用
t want to usedcast`。 -
你能展示一下你的尝试吗?
-
使用
dplyr,您可以执行df %>% group_by(Month, Alpha) %>% mutate(count = n()) %>% ungroup() %>% gather(var, val, -Month, -Alpha) %>% distinct() %>% spread(Alpha, val, fill = 0) %>% select(-var)之类的操作。 -
@tmfmnk 好像有点简单
group_by(dat, Month, Alpha) %>% summarise(n = n()) %>% spread(Alpha, n, fill = 0) -
data %>% count(Month, Alpha) %>% spread(Alpha, n, fill = 0L)
标签: r dplyr frequency tidyverse