正規分布ではない多群について検定するために krsukal-wallis test を行ったところ、表題のエラーが出た
> kruskal.test(value~label) Error in kruskal.test.default(c(0.55, 0.62, 0.58, 0.51, 0.5, 0.6, 0.58, : all group levels must be finite
ここで公式ドキュメントを眺めてみると
kruskal.test(x, g, …)
https://www.rdocumentation.org/packages/stats/versions/3.6.1/topics/kruskal.test
x : a numeric vector of data values, or a list of numeric data vectors. Non-numeric elements of a list will be coerced, with a warning.
g : a vector or factor object giving the group for the corresponding elements ofx
. Ignored with a warning ifx
is a list.
どうやら factor を引数に取るらしい
> value <- as.factor(value) > label <- as.factor(label) > kruskal.test(value~label) Kruskal-Wallis rank sum test data: value by label Kruskal-Wallis chi-squared = 8.1137, df = 3, p-value = 0.04372
これで解決
参考
kruskal.test shows "All group levels must be finite" error. What is the problem?
I have a data set having a value and a group, e.g., Val Grp 123 "A" 231 "A" 132 "A" 234 "A" 445 "B" 345 "B" 235 "B" 345 ...
コメント