2017-06-13 49 views
1

我试图做下列数据集的Kruskal一个Wallis检验:秩检验误差(E,F): 'x' 和 'G' 必须具有相同的长度

e<-c(0.0018, 0.0021, 0.0028, 0.0029, 0.0044, 0.0045, 0.0074, 0.00325140981291511,0.00325140981291511, 0.00325140981291511, 0.0079, 0.001978252063446,0.00684016798870973, 0.00384959728634123, 0.0093, 0.011, 0.014, 0.022, 0.083, 0.48, 0.49, 1.2) 

f<-c(0.0145458371613749, 0.0355067948032862, 0.0654819408270916, 0.107370481645772, 0.165362828209794, 0.0654819408270916, 0.253, 0.344, 0.42, 1.3, 2.7, 3.14, 3.93, 4.48, 5.48, 17) 

当我运行这段代码kruskal.test(e,f)克鲁斯卡尔测试,我得到这个错误: 错误kruskal.test.default(E,F): “x”和“G”必须具有相同的长度

任何帮助将不胜感激!

感谢,

约翰

+0

我相信它是要求x中的数值向量和g中的因子,其中g的每个元素描述了x的对应值属于哪个组。这就是为什么它希望你放入长度相等的向量。 – svenhalvorson

+0

@svenhalvorson你的信念是对的;-) –

+0

谢谢!我很感激 – John

回答

1

?kruskal.test解释,你的第二个参数必须是指示组的一个因素。所以:

# Combine the data in a single vector 
x <- c(e,f) 
# create a group indicator 
groups <- rep(c(1,2), 
       times = c(length(e), length(f)) 
      ) 
# profit 
kruskal.test(x, groups) 

# Kruskal-Wallis rank sum test 
# 
# data: x and groups 
# Kruskal-Wallis chi-squared = 18.136, df = 1, p-value = 2.057e-05 
相关问题