首页 > 解决方案 > R t.test group by

问题描述

我偶然发现了一个恼人的问题。我正在尝试一次执行多个独立样本 t 检验,按值分组。

举个例子:我们在 5 个城市测量了男性和女性的工作满意度。对于每个主题,我们都知道他们的城市、性别和满意度得分。我们可以像这样对整个样本进行 t 检验:

t.test(Score ~ Gender, paired = FALSE)

但是,我想对每个城市进行 t 检验,看看每个城市每个性别的平均工作满意度是否存在差异。我该怎么做呢?

标签: rstatisticst-test

解决方案


您可以使用lapplywithsplit进行分组t.test

lapply(split(mtcars, factor(mtcars$cyl)), function(x)t.test(data=x, mpg ~ am, paired=FALSE))

在这里,我使用了 mtcars 数据,并通过使用 cyl 作为组对 mpg(连续数据)和 am(分类数据)执行 t.test 进行了独立的 t.test。如果这不是您所期望的,请告诉我。


推荐阅读