R t.test group by - PullRequest
       75

R t.test group by

1 голос
/ 10 марта 2020

Я наткнулся на одну досадную проблему. Я пытаюсь выполнить несколько независимых выборочных t-тестов одновременно, сгруппированных по значению.

Для примера: в 5 городах мы измерили удовлетворенность работой мужчин и женщин. По каждому предмету мы знаем свой город, пол и оценку удовлетворенности. Мы можем провести t-тест по всей выборке следующим образом:

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

Однако я хочу провести t-тест для каждого города, чтобы увидеть, есть ли разница в средней удовлетворенности работой за пол на город . Как мне это сделать?

1 Ответ

2 голосов
/ 10 марта 2020

Вы можете использовать lapply с split, чтобы сделать группу по t.test,

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

Здесь я использовал данные mtcars и провел независимое t.test, используя cyl в качестве группы провести t.test на mpg (непрерывные данные) и am (категориальные данные). Дайте мне знать, если вы этого не ожидаете.

...