【问题标题】:Taking the mean of a multitude of variables that will grouped by a set of categorcal variables取由一组分类变量分组的多个变量的平均值
【发布时间】:2020-04-07 21:17:44
【问题描述】:

我有 500 列。一个是具有 3 个类别的分类变量,其余是连续变量。这些列下有 50 行。如何按类别变量对数据框进行分组,并为每个具有该 DF 连续变量的列取每个类别内的观察值的平均值?另外,删除所有 NA。我想根据这些信息制作一张新 CD。

最好, 亨利

【问题讨论】:

  • 欢迎堆栈溢出。我会推荐这些(指南)[stackoverflow.com/questions/5963269/…,以最大限度地提高您获得帮助的机会。尝试提供一些数据和一些代码来说明您的问题。

标签: r


【解决方案1】:

在发布到 SO 时,请确保包含可重现的数据示例(dput 对此很有帮助)。事实上,我只能猜测你的数据结构。

我喜欢用dplyr 进行一般的分组/汇总操作。以iris 为例,你也许可以这样做

library(dplyr)
library(tidyr)
data(iris)

iris %>% 
  drop_na() %>%
  group_by(Species) %>% 
  summarise_all(mean)

summarise_all 只是自动使用所有非分组列,并采用您要应用的功能。

注意,如果你使用的是开发版的 dplyr,你也可以这样做

iris %>% 
  group_by(Species) %>% 
  summarise(across(is.numeric), mean)

由于summarise_all 被替换为across

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-03
    • 2023-04-04
    • 2013-12-29
    • 2023-02-25
    • 2021-08-22
    • 1970-01-01
    • 2021-04-30
    • 2013-09-14
    相关资源
    最近更新 更多