计算组内子组的平均值

Posted

技术标签:

【中文标题】计算组内子组的平均值【英文标题】:Calculate mean for subgroup within group 【发布时间】:2021-12-28 01:17:29 【问题描述】:

我想。数据看起来像这样

sex season outcome
F breed 0
F breed 0
F breed 1
F breed 1
F breed 1
F breed 0
F breed 0
F molt 0
F molt 1
F molt 1
F winter 1
F winter 0
F breed 0
F breed 0
F breed 1
F breed 1
M breed 0
M breed 0
M breed 0
M molt 0
M molt 1
M molt 1
M winter 0
M winter 0

我想计算季节内每种性别的结果平均值。例如,我想知道雌性在繁殖、蜕皮和冬季的平均结果。我想对男性重复一遍。

我可以使用以下代码计算每性别结果的平均值:

detect %>% 
    group_by(sex) %>% 
   summarise(dr = mean(outcome))

但我不知道如何将事物分解为季节的子组。

【问题讨论】:

试试group_by(sex, season) 【参考方案1】:

你在正确的轨道上。只需添加您想要分组的第二列,正如 Park 在 cmets 部分中提到的那样,而不是 season 使用 breed(假设我正确理解您的需求):

detect %>% 
  group_by(sex, breed) %>% 
  summarise(dr = mean(outcome))

【讨论】:

以上是关于计算组内子组的平均值的主要内容,如果未能解决你的问题,请参考以下文章

计算不同时间段内子组的数据框中的百分比变化

Pandas Dataframe:获取组内每个子组的第一行的平均值

计算 groupby 中的 nanmean 并根据子组将此均值应用于 DF 列

Python Pandas:计算组内的移动平均值

平均年龄计算公式是啥?

esttab中的子组与平均值