计算均值时何时使用 which vs subset 函数

Posted

技术标签:

【中文标题】计算均值时何时使用 which vs subset 函数【英文标题】:When to use which vs subset function when calculating mean 【发布时间】:2021-07-30 21:39:45 【问题描述】:

我试图在 R 中按性别查找变量(年龄)的平均值。年龄和性别是数据集中的每一列,我想找到女性和男性的年龄平均值。我相信我需要使用 which 函数,但不确定如何实际执行此操作,并且想知道使用子集函数是否更有意义。

【问题讨论】:

如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。 【参考方案1】:

您可能正在寻找aggregate()

aggregate(age ~ sex, dat, mean)
#   sex  age
# 1   1 24.5
# 2   2 24.0

数据

dat <- structure(list(sex = c(1L, 1L, 1L, 1L, 2L, 2L, 2L), age = c(28L, 
19L, 26L, 25L, 22L, 27L, 23L), x = c(0.978226428385824, 0.117487361654639, 
0.474997081561014, 0.560332746244967, 0.904031387297437, 0.138710167724639, 
0.988891728920862)), class = "data.frame", row.names = c(NA, 
-7L))

【讨论】:

【参考方案2】:

我们也可以使用dplyr

library(dplyr)
df1 %>%
      group_by(sex) %>%
      summarise(age = mean(age))

【讨论】:

以上是关于计算均值时何时使用 which vs subset 函数的主要内容,如果未能解决你的问题,请参考以下文章

R语言str_subset函数和str_which函数:str_subset函数提取字符串向量中所有包含匹配字符的字符串str_which函数返回字符串向量中所有包含匹配字符的位置(索引)

尖括号 [] () 它们绑定啥以及何时使用 which [重复]

R语言-均值填充缺失值

Hadoop MapReduce vs MPI(vs Spark vs Mahout vs Mesos) - 何时使用一个而不是另一个?

均值滤波

如何确定 k 均值何时收敛于 tf idf?