Kruskal.test показывает, что ошибка "Все уровни группы должны быть конечными". В чем проблема?
У меня есть набор данных, имеющий значение и группу, например,
Val Grp
123 "A"
231 "A"
132 "A"
234 "A"
445 "B"
345 "B"
235 "B"
345 "B"
(Оригинальный набор данных будет слишком большим, чтобы показать здесь.)
Когда я делаю kruskal.test(data$Val, data$Grp)
, я получаю сообщение об ошибке all group levels must be finite.
Когда я проверяю данные с помощью is.finite()
, я вижу, что все значения действительно конечны.
Интернет не дает много информации об этой ошибке, поэтому я надеюсь, что кто-то может пролить свет на то, что означает эта ошибка, и что может быть проблемой.
Ответы
Ответ 1
Он должен работать, если вы запустите
data$Grp <- as.factor(data$Grp)
Затем (как и раньше):
kruskal.test(data$Val, data$Grp)
Это потому, что Grp
является символом, а не фактором, а is.finite
, примененным к объекту символьного класса, всегда является ложным (см. ?is.finite
).