Как выполнить t-тест парных выборок в r
T-критерий для парных выборок — это статистический тест, который сравнивает средние значения двух выборок, когда каждое наблюдение из одной выборки может быть сопоставлено с наблюдением из другой выборки.
Например, предположим, что мы хотим знать, оказывает ли определенная учебная программа существенное влияние на успеваемость учащихся на конкретном экзамене. Чтобы проверить это, мы просим 20 учеников в классе пройти предварительный тест. Затем каждый из студентов участвует в учебной программе каждый день в течение двух недель. Затем учащиеся повторно сдают тест аналогичной сложности.
Чтобы сравнить разницу между средними баллами по первому и второму тестам, мы используем парный t-критерий, поскольку для каждого учащегося его балл по первому тесту может быть связан с его баллом по второму тесту.
Как выполнить парный t-тест
Чтобы выполнить парный t-тест, мы можем использовать следующий подход:
Шаг 1: Сформулируйте нулевую и альтернативную гипотезы.
ЧАС 0 : μ d = 0
H a : μ d ≠ 0 (двусторонний)
H a : µ d > 0 (односторонний)
H a : µ d < 0 (односторонний)
где μ d — средняя разность.
Шаг 2: Найдите статистику теста и соответствующее значение p.
Пусть a = балл учащегося по первому тесту и b = балл учащегося по второму тесту. Чтобы проверить нулевую гипотезу о том, что истинная средняя разница между результатами тестов равна нулю:
- Рассчитайте разницу между каждой парой баллов (d i = b i – a i )
- Рассчитайте среднюю разницу (d)
- Рассчитайте стандартное отклонение разностей s d
- Вычислите t-статистику, которая равна T = d/(s d /√n)
- Найдите соответствующее значение p для t-статистики с n-1 степенями свободы.
Шаг 3: Отклонить или не отвергать нулевую гипотезу в зависимости от уровня значимости.
Если значение p меньше выбранного уровня значимости, мы отвергаем нулевую гипотезу и заключаем, что существует статистически значимая разница между средними значениями двух групп. В противном случае мы не сможем отвергнуть нулевую гипотезу.
Как выполнить парный t-тест в R
Чтобы выполнить парный t-тест в R, мы можем использовать встроенную функцию t.test() со следующим синтаксисом:
t.test (x, y, парное = ИСТИНА, альтернатива = «две стороны»)
- x,y: два цифровых вектора, которые мы хотим сравнить.
- парный: логическое значение, указывающее, что мы хотим вычислить парный t-критерий
- альтернатива: альтернативная гипотеза. Для этого параметра можно установить «двусторонний» (по умолчанию), «сверху» или «снизу».
В следующем примере показано, как выполнить парный t-тест, чтобы определить, существует ли значительная разница в средних баллах между предварительным и итоговым тестом для 20 учащихся.
Создайте данные
Сначала мы создадим набор данных:
#create the dataset data <- data.frame(score = c(85,85, 78, 78, 92, 94, 91, 85, 72, 97, 84, 95, 99, 80, 90, 88, 95, 90, 96, 89, 84, 88, 88, 90, 92, 93, 91, 85, 80, 93, 97, 100, 93, 91, 90, 87, 94, 83, 92, 95), group = c(rep('pre', 20), rep('post', 20))) #view the dataset data #scoregroup #1 85 pre #2 85 pre #3 78 pre #4 78 pre #5 92 pre #6 94 pre #7 91 pre #8 85 pre #9 72 pre #10 97 pre #11 84 pre #12 95 pre #13 99 pre #14 80 pre #15 90 pre #16 88 pre #17 95 pre #18 90 pre #19 96 pre #20 89 pre #21 84 post #22 88 post #23 88 post #24 90 post #25 92 post #26 93 post #27 91 post #28 85 post #29 80 post #30 93 post #31 97 post #32 100 posts #33 93 post #34 91 post #35 90 post #36 87 post #37 94 post #38 83 post #39 92 post #40 95 post
Визуализируйте различия
Далее мы рассмотрим сводную статистику двух групп, используя функции group_by() и summary () из библиотеки dplyr :
#load dplyr library
library(dplyr)
#find sample size, mean, and standard deviation for each group
data %>%
group_by (group) %>%
summarize (
count = n(),
mean = mean(score),
sd = sd(score)
)
# A tibble: 2 x 4
# group count mean sd
#
#1 post 20 90.3 4.88
#2 pre 20 88.2 7.24
Мы также можем создавать коробчатые диаграммы , используя функцию boxplot() в R, чтобы отображать распределение оценок для групп до и после:
boxplot (score~group,
data=data,
main="Test Scores by Group",
xlab="Group",
ylab="Score",
col="steelblue",
border="black"
)
Из сводной статистики и коробчатых диаграмм мы видим, что средний балл в пост- группе немного выше, чем средний балл в предварительной группе. Мы также можем видеть, что оценки после группы имеют меньшую вариативность, чем оценки перед группой.
Чтобы выяснить, является ли разница между средними значениями этих двух групп статистически значимой, мы можем выполнить парный t-критерий.
Выполните парный t-тест
Прежде чем выполнять парный t-тест, нам необходимо убедиться, что распределение различий нормально (или приблизительно нормально). Для этого мы можем создать новый вектор, определяемый как разница между оценками до и после, и выполнить тест Шапиро-Уилка на нормальность этого вектора значений:
#define new vector for difference between post and pre scores differences <- with(data, score[group == "post"] - score[group == "pre"]) #perform shapiro-wilk test for normality on this vector of values shapiro.test(differences) # Shapiro-Wilk normality test # #data: differences #W = 0.92307, p-value = 0.1135 #
Значение p теста составляет 0,1135, что больше, чем альфа = 0,05. Таким образом, мы не можем отвергнуть нулевую гипотезу о том, что наши данные нормально распределены. Это означает, что теперь мы можем приступить к парному t-критерию.
Мы можем использовать следующий код для выполнения парного t-теста:
t.test (score~group, data = data, paired = TRUE)
# Paired t-test
#
#data: score by group
#t = 1.588, df = 19, p-value = 0.1288
#alternative hypothesis: true difference in means is not equal to 0
#95 percent confidence interval:
# -0.6837307 4.9837307
#sample estimates:
#mean of the differences
#2.15
По результату мы видим, что:
- Статистика t- теста равна 1,588 .
- Значение p для этой тестовой статистики с 19 степенями свободы (df) составляет 0,1288 .
- 95% доверительный интервал для средней разницы составляет (-0,6837, 4,9837) .
- Средняя разница между баллами до и после группы составляет 2,15 .
Таким образом, поскольку наше значение p ниже нашего уровня значимости 0,05, мы не сможем отвергнуть нулевую гипотезу о том, что две группы имеют статистически значимые средние значения.
Другими словами, у нас нет достаточных доказательств, чтобы сказать, что средние баллы между группами до и после лечения статистически различаются. Это означает, что учебная программа не оказала существенного влияния на результаты тестов.
Кроме того, наш 95% доверительный интервал указывает на то, что мы «на 95% уверены» в том, что истинная средняя разница между двумя группами находится между -0,6837 и 4,9837 .
Поскольку нулевое значение содержится в этом доверительном интервале, это означает, что ноль на самом деле может быть истинной разницей между средними баллами, поэтому в этом случае нам не удалось отвергнуть нулевую гипотезу.