我有一项研究参与者的各种临床数据。我正在查看一个连续变量(“A”)和一个(二进制)分类变量(组)(“O”)。我在 R 中使用了 Wilcoxon 检验(数据不是正态分布的)来查看两组之间的“A”是否显着不同。我的临界 p 值为 0.054。
如果我再次运行 Wilcoxon 但仅包括男性(72 人中的 30 人),则 p 值为 ~0.3;仅对女性而言约为 0.25。
男性和女性的组之间的“A”怎么可能没有差异,但是当组合起来时却有差异?
我有一项研究参与者的各种临床数据。我正在查看一个连续变量(“A”)和一个(二进制)分类变量(组)(“O”)。我在 R 中使用了 Wilcoxon 检验(数据不是正态分布的)来查看两组之间的“A”是否显着不同。我的临界 p 值为 0.054。
如果我再次运行 Wilcoxon 但仅包括男性(72 人中的 30 人),则 p 值为 ~0.3;仅对女性而言约为 0.25。
男性和女性的组之间的“A”怎么可能没有差异,但是当组合起来时却有差异?
似乎是测试能力的问题。如果你只看一个子集,你的参与者就会少得多,因此找到类似大小的效果的能力也会少得多。
随着样本量的减少,您只能找到更大的效果。因此,不建议在这种情况下只查看子集。除非存在互动(即,结果是否指向男性和女性的相同方向?)。
此外,没有必要使用 Wilcoxon 检验,因为您的数据不是正态分布的(除非它严重偏离)。可能您仍然可以使用 t.test(例如,这里的一位用户 whuber,最近在类似情况下提倡使用 t.test,因为通常假设不一定适用于数据,而是适用于采样分布。引用他:“原因是平均值的采样分布近似正态,即使数据的分布不是”)。
但是,如果您仍然不想使用 t.test,那么还有更强大的“无假设”参数替代方案,尤其是置换测试。在这里查看我的问题的答案(whubers 引用也来自那里):R 中使用哪个排列测试实现而不是 t 测试(配对和非配对)?
在我的情况下,结果甚至比使用 t.test 时好一点(即更小的 p)。所以我会推荐这个基于coin
包的排列测试。如果您在问题中提供一些示例数据,我可以为您提供必要的 r 命令。
更新:异常值对 t-test 的影响
如果您查看 R 中 t.test 的帮助?t.test
,您会发现以下示例:
t.test(1:10,y=c(7:20)) # P = .00001855
t.test(1:10,y=c(7:20, 200)) # P = .1245 -- NOT significant anymore
尽管在第二种情况下,您的均值差异更大,但异常值会导致违反直觉的发现,即数据不再显着。因此,如果数据允许,建议将处理异常值的方法(例如 Winsorizing,此处)用于参数测试作为 t。
这不一定是统计能力的问题;它也可能是混淆的一个例子。
例子:
类别之间的分布仍然会有总体差异。