gpt4 book ai didi

r - 查找组内计数的平均值

转载 作者:行者123 更新时间:2023-12-02 16:00:26 24 4
gpt4 key购买 nike

我有一个如下所示的数据框:

library(tidyverse)    
x <- tibble(
batch = rep(c(1,2), each=10),
exp_id = c(rep('a',3),rep('b',2),rep('c',5),rep('d',6),rep('e',4))
)

我可以运行下面的代码来获取每个 exp_id 的计数:

x %>% group_by(batch,exp_id) %>% 
summarise(count=n())

生成:

  batch exp_id count
<dbl> <chr> <dbl>
1 1 a 3
2 1 b 2
3 1 c 5
4 2 d 6
5 2 e 4

生成这些计数的平均值的一种非常丑陋的方法是:

x %>% group_by(batch,exp_id) %>% 
summarise(count=n()) %>%
ungroup() %>%
group_by(batch) %>%
summarise(avg_exp = mean(count))

生成:

  batch avg_exp
<dbl> <dbl>
1 1 3.33
2 2 5

是否有更简洁和“整洁”的生成方式?

最佳答案

library(dplyr)
group_by(x, batch) %>%
summarize(avg_exp = mean(table(exp_id)))
# # A tibble: 2 x 2
# batch avg_exp
# <dbl> <dbl>
# 1 1 3.33
# 2 2 5

关于r - 查找组内计数的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70794917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com