问题描述
我有
a<-rnorm(10,1)
b<-rnorm(10,3,1)
我想检验以下假设:“它们等于没有偏移”,相对于“第二个比第一个偏移”。我寻找中位数检验w,该数值使用比合并中位数更大的值数,但我找不到并进行中值测试,我无法从中提取p值
解决方法
情绪的中值测试已内置到mood.test()
中的基数R中:
set.seed(123)
n <- 10000
a <- rnorm(n,1)
b <- rnorm(n,3,1)
mood_fit <- mood.test(a,b)
mood_fit
# Mood two-sample test of scale
#
# data: a and b
# Z = -0.026159,p-value = 0.9791
# alternative hypothesis: two.sided
要提取p值,请使用$p.value
属性:
mood_fit$p.value
[1] 0.9791303
,
R 中 2 个样本量表的情绪测试:
使用mood.medtest() 可以比较独立样本的中位数。 如果你想比较尺度参数的差异,你可以使用函数mood.test()。您还可以使用 ansari.test() 进行 ansari bradley 测试。对于这些测试,您必须测试 2 个样本的位置。如果两个样本的位置相同,您只能在这些测试的规模上进行测试。
在您的示例中,首先使用 wilcoxon-Rang-Test 进行现场测试:
a = rnorm(10,1)
b = rnorm(10,1)
wilcox.test(a,b)
# Wilcoxon rank sum exact test
# data: a and b
# W = 3,p-value = 7.578e-05
# alternative hypothesis: true location shift is not equal to 0
使用这个小的 p 值,我们拒绝了原假设,我们无法在规模上进行测试,因为位置不相等。
在这种情况下,我们可以重新准备我们的数据样本并使用此替代方法进行规模测试:
mood.test(a-median(a),b-median(b))
Mood two-sample test of scale
# data: a - median(a) and b - median(b)
# Z = 0.26482,p-value = 0.7911
# alternative hypothesis: two.sided
如果不能拒绝位置相等的原假设,可以直接使用mood.test(),不用中位数补:
a = rnorm(10,1)
b = rnorm(10,2)
wilcox.test(a,b)
#Wilcoxon rank sum exact test
#data: a and b
#W = 55,p-value = 0.7394
#alternative hypothesis: true location shift is not equal to 0
在这种情况下,我们不能拒绝假设 H1,即位置相等,我们直接使用情绪测试来比较规模:
mood.test(a,b)
#Mood two-sample test of scale
# data: a and b
#Z = -0.82389,p-value = 0.41
#alternative hypothesis: two.sided