Как выполнить двусторонний критерий Стьюдента в R - PullRequest
0 голосов
/ 28 апреля 2018

У меня возникла следующая проблема при создании двустороннего t-критерия с двумя выборками. Единственными значениями являются значения ниже. У нас есть две группы S и L, которые имеют среднесрочные и выпускные экзамены. Моя задача - выполнить двусторонний t-критерий с двумя выборками один раз для оценок в середине семестра, а затем для разницы между оценками в середине семестра и в конце семестра.

d <- read.table(text="
Cohort  N Midterm_Mean Midterm_SD Final_Mean Final_SD Diff_Mean Diff_SD
2016_L 38     77.4        3.0       73.7       4.2      -3.7        2.1
2017_S 37     81.9        2.1       70.0       4.6     -11.9        2.8
", header=TRUE)

Результаты должны быть:

  • для среднесрочных периодов: (т: -1,24, р: 0,219> 0,01, д. Коэна: -0,286)
  • для финала: (t: 2,30, p: 0,024> 0,01, d Коэна: 0,532)

Я не получаю эти результаты. Как правильно реализовать тест в R?

РЕДАКТИРОВАТЬ: У меня уже есть следующее:

L1 <- rnorm(mean = 77.4, sd = 3,   n=38)
S1 <- rnorm(mean = 81.9, sd = 2.1, n=37)
L2 <- rnorm(mean = 73.7, sd = 4.2, n=38)
S2 <- rnorm(mean = 70,   sd = 4.6, n=37)
tab <- data.frame(result=c(L1,S1), 
                  group=c(rep(0, times=38), rep(1,times =37)) ,head=TRUE)
attach(tab)
t <- t.test (result ~ group, mu=0, alternative="two.sided", 
             conf=0.95, var.equal=T, paired=F)

Код выше просто для сравнения промежуточных терминов. Прежде всего, я подумал, что мне нужно создать нормальные векторы с заданными значениями. Затем я помещаю их в кадр данных и отмечаю их 0 или 1 независимо от того, являются ли они из (S) или (L). Это более или менее правильный способ решить задачу? Потому что результат получает слишком маленькое значение р.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

По сути, вы не совсем на правильном пути. Я предполагаю, что это для домашнего задания? В реальной жизни вы почти всегда начинаете с необработанных данных, именно этого и ожидает Р. Но здесь у вас нет необработанных данных, у вас есть только сводная статистика. Поэтому вам нужно сделать вычисления самостоятельно, чтобы получить ответ. (При редактировании вы создаете новые необработанные данные, которые выглядят как реальные данные - но, конечно, не совсем.)

Поскольку это похоже на домашнюю работу, я не буду приводить эти вычисления здесь; вместо этого посмотрите в своем тексте формулы и следуйте им. Основная идея состоит в том, чтобы получить разницу, разделить на стандартную ошибку (которую вам нужно будет вычислить из этих двух стандартных отклонений и размера выборки), а затем использовать обычную таблицу (или функцию R), чтобы получить значение p , Попробуйте, а затем вернитесь с любыми дополнительными вопросами - отредактировав оригинальный вопрос.

0 голосов
/ 28 апреля 2018

Проверить? T.test

Вы увидите, что вам нужно передать ему два вектора (x и y). По умолчанию проверяется средняя разница, равная нулю. Двусторонние тесты также по умолчанию. Вы можете указать, предполагается ли эквивалентная дисперсия - var.equal = TRUE.

То, как вы сообщаете свои значения p, нестандартно. Я не совсем понимаю, каким должен быть результат.

...