如何使用R中不精确(<或>)的变量进行kruskal-wallis检验

时间:2016-05-15 09:23:36

标签: r kruskal-wallis

我有三组我在R中进行了Kruskal-Wallis测试。数据如下

A = c(178.53, 226.87,219.78)
B = c(<16.00,   <16.00, <16.00)   
C = c(<16.00,   <16.00, <16.00)

dat = list(g1=A, g2=B, g3=C)

kruskal.test(dat)

我收到以下错误:

  

错误:意外&#39;&lt;&#39;在B和C中。我如何处理变量   有&#34;&lt;&#34;符号

1 个答案:

答案 0 :(得分:1)

我认为您需要更正整理数据的方式。在你的情况下,所有&lt; 16都只是16.不管它们的数值如何,它们被视为关系,因为它们在数值上小于最小的非删失值(即,所有16个都需要是一个小于178.53)你会得到同样的答案。

test <- data.frame(Gp = c("A","A","A","B","B","B","C","C","C"),
                   Y  = c(178.53, 226.87, 219.78, 16.00, 16.00, 
                          16.00, 16.00, 16.00, 16.00))

with(test, kruskal.test(Y~Gp))

请注意,如果您的数据集是

A = 178.53, 226.87, 219.78,   5
B = <16.00,   <16.00, <16.00, 5
C = <16.00,   <16.00, <16.00, 5

然后你需要以与编码&lt; 16'相同的方式重新编码所有5个,因为你不知道5是&gt;或者&lt;一个“&lt; 16”。