在R中,我想对两个样本进行配对样本t检验。我没有原始数据。我只有三个信息:1)两组的均值,2)他们在 95% 置信区间的变化,3)他们的 N。这是数据:
mean1 <- 0.5012997
mean2 <- 0.5115595
ci_upper1 <- 0.5141452
ci_lower1 <- 0.48845425
ci_upper2 <- 0.5205948
ci_lower2 <- 0.50252432
n1 <- 50
n2 <- 50
如何使用这些信息进行配对样本 t.test?
我试图回答你的问题。请注意,这更多的是一个统计问题,而不是一个编程问题,因此您在 https://stats.stackexchange.com 上提问会有更好的运气。
首先,两个配对样本的t统计量的公式是这样的:
其中 D 是每个人两次测量值之间的差异。上半部分是 D 的平均值(上面用条形表示),很容易理解。是
mean1 - mean2
。
困难的部分是获得SD,这是每个人测量值之间差异的标准差。
可以在给定的置信区间内对样本 1(我们称之为
x
)和样本 2 (y
) 的标准差进行逆向工程。这样我们就可以得到 sd(x)
和 sd(y)
。 (请参阅下文了解如何执行此操作)
但我们实际上需要SD,即
sd(x - y)
。 统计论坛上的这个答案告诉我们sd(x - y)
和sd(x)
和sd(y)
是如何相关的:
其中
cov(x, y)
是 x
和 y
之间的协方差。如果您碰巧缺少这条信息,您可以计算 SD 和 t 并进行测试。如果您没有协方差或类似包含协方差的相关性,则无法计算配对 t 检验。
仅供参考:如何对置信区间进行逆向工程
首先:我假设这些置信区间是用样本方差估计总体方差,这是相当标准的,因此使用 t 分布。那么公式如下所示:
ci_upper1 = mean1 + qt(.975, df = n1 - 1) * sd1 / sqrt(n1)
您可以使用以下方法提取未知的
s1
(样本 1 的标准差):
s1 = (ci_upper1 - mean1) / qt(.975, df = n1 - 1) * sqrt(n1)