R T-тест от N / Среднее / SD - PullRequest
       29

R T-тест от N / Среднее / SD

5 голосов
/ 03 апреля 2011

Я знаю, что если у меня есть набор данных, я могу запустить t.test, чтобы выполнить тест T.Но я знаю только количество, среднее и стандартное отклонение для каждого набора.Я уверен, что должен быть способ сделать это в R, но я не могу понять это.Любая помощь?

Ответы [ 3 ]

13 голосов
/ 03 апреля 2011

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

t.test.fromSummaryStats <- function(mu,n,s) {
   -diff(mu) / sqrt( sum( s^2/n ) )
}

mu <- c(.1,.136)
n <- c(5,7)
s <- c(.01,.02)
t.test.fromSummaryStats(mu,n,s)
5 голосов
/ 30 марта 2015

Вы можете вычислить формулу вручную или смоделировать. Но если вам нужен быстрый вызов функции, в пакете BSDA есть ? Tsum.test . Например, это делает t-тест Уэлча довольно простым. Используя числа @ AriB.Friedman:

library(BSDA)
tsum.test(mean.x=.1,   s.x=.01, n.x=5,
          mean.y=.136, s.y=.02, n.y=7)
# 
#         Welch Modified Two-Sample t-Test
# 
# data:  Summarized x and y
# t = -4.0988, df = 9.238, p-value = 0.002538
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
#  -0.05579113 -0.01620887
# sample estimates:
# mean of x mean of y 
#     0.100     0.136
5 голосов
/ 03 апреля 2011

Если вы не хотите самостоятельно перекодировать формулу, вы всегда можете смоделировать набор данных, содержащий точные сводные данные, а затем проанализировать смоделированные данные. Функция mvrnorm в пакете MASS может использоваться для генерации нормальных данных с заданным средним значением и дисперсией (установите для эмпирического аргумента значение TRUE).

...