Запуск t-теста с двумя выборками с неравным размером выборки в R - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь выполнить t-тест из двух выборок для различия между группой лечения и контрольной группой.Данные не спарены.Когда я установил подмножество моего исходного кадра данных, я обнаружил, что у меня неравные размеры выборки (не проблема вручную, но R, кажется, делает это проблемой).Вот мой код:

CG<-subset(data,treat=="Control")
TG<-subset(data,treat!="Control")
agep <-t.test(CG$age~TG$age)$p.value

Я получаю следующую ошибку:

Error in model.frame.default(formula = CG$age ~ TG$age) : 
variable lengths differ (found for 'TG$age')

Да!Длина действительно отличается.Не знаете, почему это проблема, если я не запускаю парный тест?Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 15 октября 2018

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

Сначала убедитесь, что ваши данные прошликритерий гомоскедастичности - однородны ли различия?Мы делаем это в R с помощью F-критерия Фишера , var.test(x, y).

CG <- subset(data, treat == "Control")
TG <- subset(data, treat != "Control")
var.test(CG, TG)

Если ваш p > 0,05, то вы можете предположить, что дисперсииоба образца являются однородными.В этом случае мы запускаем классический t-тест Стьюдента с двумя выборками, устанавливая параметр var.equal = TRUE.

agep <- t.test(CG$age, TG$age, var.equal = TRUE)

Если F-тест возвращает p <0,05, тоМожно предположить, что дисперсии двух групп различны (<strong> гетероскедастичность ).В этом случае вы можете запустить t-статистику Уэлча.Просто установите var.equal = FALSE.

agep <- t.test(CG$age, TG$age, var.equal = FALSE)
...