【发布时间】:2011-07-28 11:15:10
【问题描述】:
我知道,如果我有一组数据,我可以运行t.test 进行 T 检验。但我只知道每组的计数、平均值和标准差。我确信在 R 中必须有一种方法可以做到这一点,但我无法弄清楚。有什么帮助吗?
【问题讨论】:
-
我认为这个问题更适合crossvalidated.com
标签: r statistics hypothesis-test
我知道,如果我有一组数据,我可以运行t.test 进行 T 检验。但我只知道每组的计数、平均值和标准差。我确信在 R 中必须有一种方法可以做到这一点,但我无法弄清楚。有什么帮助吗?
【问题讨论】:
标签: r statistics hypothesis-test
您当然可以手动或模拟计算公式。但如果你想要一个快速的函数调用,BSDA package 中有?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
【讨论】:
如果您不想自己重新编码公式,您可以随时模拟具有准确摘要的数据集,然后分析模拟数据。 MASS 包中的 mvrnorm 函数可用于生成具有给定均值和方差的正常数据(将经验参数设置为 TRUE)。
【讨论】:
将formula 用于方差不等且样本量不等的 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)
【讨论】: