Допустим, у нас есть статистика, приведенная ниже
gender mean sd n
f 1.666667 0.5773503 3
m 4.500000 0.5773503 4
Как выполнить t-тест из двух выборок (чтобы увидеть, есть ли значительная разница между средними значениями для мужчин и женщин в некоторой переменной), используя статистику, подобную этой, а не фактические данные?
Я нигде не мог найти в интернете, как это сделать. Большинство учебных пособий и даже руководство имеют дело с тестом только с фактическим набором данных.
?pt
) - смотрите подробнееpt()
- действительно содержат всю информацию, необходимую для того, чтобы сделать это самостоятельно. И вы многое узнаете о статистике и R, если сделаете это.tsum.test
функцию в пакете BSDA , которая реализует t-тест (два образца; Уэлч или равная дисперсия, а также один образец) из предоставленных вами сводных данных. Это в основном работает как t-тест в vanilla R, но на сводной информации.tsum.test()
отBSDA library
как заявлено @Nick Кокс. Он делает то же самое, что и @macro, записанный в строках кода. Если задан вопрос, каково понимание фонового вычисления для вычисления статистики t-критерия в R, тогда Марко был бы более уместным ответом. Пожалуйста, обратите внимание, я не пытаюсь никого обидеть, просто излагаю свое личное мнение относительно моего профессионального опыта. И @marco, это немного аккуратное кодирование :)Ответы:
Вы можете написать свою собственную функцию, основываясь на том, что мы знаем о механике теста с двумя выборкамиT . Например, это сделает работу:
источник
t.test
отклоненными, поэтому вот код для подтверждения:(tt2 <- t.test2(mean(x1), mean(x2), sd(x1), sd(x2), length(x1), length(x2))); (tt <- t.test(x1, x2)); tt$statistic == tt2[["t"]]; tt$p.value == tt2[["p-value"]]
Ожидаемая разница, вероятно, равна нулю.
Если вы хотите p-значение, просто используйте
pt()
функцию:Таким образом, составляя код:
Это предполагает равные отклонения, что очевидно, поскольку они имеют одинаковое стандартное отклонение.
источник
R
Вы можете выполнять вычисления на основе формулы в книге (на веб-странице) или генерировать случайные данные с указанными свойствами (см.
mvrnorm
Функцию вMASS
пакете) и использовать обычнуюt.test
функцию для смоделированных данных.источник
mvrnorm
функцию вMASS
пакете (вам нужно установить эмпирический аргумент в значение ИСТИНА).Вопрос задается о R, но проблема может возникнуть с любым другим статистическим программным обеспечением. Например, Stata имеет различные так называемые непосредственные команды, которые позволяют выполнять вычисления только из сводной статистики. См. Http://www.stata.com/manuals13/rttest.pdf для конкретного случая
ttesti
команды, которая применяется здесь.источник