t.test 返回错误“数据基本不变”

机器算法验证 r t检验
2022-03-18 22:23:41
R version 3.1.1 (2014-07-10) -- "Sock it to Me"
> bl <- c(140, 138, 150, 148, 135)
> fu <- c(138, 136, 148, 146, 133)
> t.test(fu, bl, alternative = "two.sided", paired = TRUE)
Error in t.test.default(fu, bl, alternative = "two.sided", paired = TRUE) : 
data are essentially constant

然后我只更改我的 fu 数据集中的一个字符:

> fu <- c(138, 136, 148, 146, 132)

它运行...

> t.test(fu, bl, alternative = "two.sided", paired = TRUE)

    Paired t-test

我在这里想念什么?

1个回答

正如评论中所涵盖的,问题在于差异都是 2(或 -2,取决于你写成对的方式)。


回答评论中的问题:

所以这意味着就统计而言,不需要花哨的 t.test 并且可以肯定的是,对于每个主题,与 bl 相比,fu 会减少 -2?

嗯,这取决于。

如果差异的分布确实是正态的,那将是结论,但可能是正态性假设是错误的,并且测量值的差异分布实际上是离散的(也许在您希望对其进行推断的人群中通常为 -2但有时与 -2 不同)。

事实上,看到所有数字都是整数,似乎离散性可能就是这种情况。

...在这种情况下,无法确定总体中的所有差异都将是-2-更多的是样本中缺乏证据表明总体差异意味着与-2有任何不同。

(例如,如果 87% 的总体差异为 -2,那么 5 个样本差异中的任何一个都只有 50-50 的机会不是 -2。因此,样本与 -2 的差异非常一致在人口中)

但是你也会被引导质疑假设对 t 检验的适用性——尤其是在如此小的样本中。