R t. 检验分组依据

koo*_*ees 5 statistics r t-test

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

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

t.test(Score ~ Gender, paired = FALSE)
Run Code Online (Sandbox Code Playgroud)

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

PKu*_*mar 4

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

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

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