R 基于多个过滤器的汇总
如果我有一个数据帧R 基于多个过滤器的汇总,r,dplyr,R,Dplyr,如果我有一个数据帧 x = data.frame(x = c(1, 1, 2, 2), y = c(1, 2, 2, 2)) 我想使用dplyr来确定y中每个值的分数,这些值按x分组 所以答案应该是 x y1 y2 1 .5 .5 2 0 1 您可以使用dplyr的count()、一个groupby()/mutate()、以及tidyr的spread(): 不鼓励在不留下评论的情况下投反对票 library(dplyr) library(tidyr) x %>% count(x
x = data.frame(x = c(1, 1, 2, 2), y = c(1, 2, 2, 2))
我想使用dplyr
来确定y
中每个值的分数,这些值按x
分组
所以答案应该是
x y1 y2
1 .5 .5
2 0 1
您可以使用dplyr的
count()
、一个groupby()
/mutate()
、以及tidyr的spread()
:
不鼓励在不留下评论的情况下投反对票
library(dplyr)
library(tidyr)
x %>%
count(x, y = paste0("y", y)) %>%
group_by(x) %>%
mutate(n = n / sum(n)) %>%
spread(y, n, fill = 0)