6

我知道如果我有一组数据,我可以跑来t.test做 T 检验。但我只知道每组的计数、平均值和标准差。我确信在 R 中必须有一种方法可以做到这一点,但我无法弄清楚。有什么帮助吗?

4

3 回答 3

14

使用具有不等方差和不等样本量的 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)
于 2011-04-03T01:35:17.067 回答
10

您当然可以手动或模拟计算公式。但是如果你想要一个快速的函数调用,BSDA 包中有?tsum.test。例如,这使得 Welch 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
于 2015-03-30T16:07:18.647 回答
6

如果您不想自己重新编码公式,您始终可以模拟具有您所拥有的确切摘要的数据集,然后分析模拟数据。MASS 包中的 mvrnorm 函数可用于生成具有给定均值和方差的正常数据(将经验参数设置为 TRUE)。

于 2011-04-03T02:23:52.897 回答