计算均值时何时使用 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 [重复]
Hadoop MapReduce vs MPI(vs Spark vs Mahout vs Mesos) - 何时使用一个而不是另一个?