R中分布相等性的情绪中位数检验

问题描述

我有

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...