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