我想传递我的 group_by 变量的长度来总结。
示例数据
set.seed(112)
df <- data.frame(
groupper = factor(sample.int(n = 12, size = 100, replace = TRUE)),
var = runif(100, min = 1, max = 25)
)
Run Code Online (Sandbox Code Playgroud)
现在我有不同数量的因素:
table(df[,1])
1 2 3 4 5 6 7 8 9 10 11 12
8 7 4 8 9 7 10 7 11 3 13 13
Run Code Online (Sandbox Code Playgroud)
var现在我想简单地找到每个在特定时间间隔内的份额groupper。
我的代码如下所示:
results <- df %>% group_by(groupper) %>% summarise(
var0_25 = sum(var < 25 / length(groupper)),
var25_50 = sum(var >= 25 & var < 50) / length(groupper))
#etc...
)
Run Code Online (Sandbox Code Playgroud)
但是,我到底如何才能将正确的group_by(groupper)长度输入到我的中summarize?它会因每个因素而变化。
我们可以用来n()获取每组的元素数量
library(dplyr)
df %>%
group_by(groupper) %>%
summarise(var0_25 = sum(var <25)/n(),
var25_50=sum(var >=25 & var < 50 )/n())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4777 次 |
| 最近记录: |