Удивительно, что вы все еще можете видеть мои удаленные комментарии. Я сделал два комментария раньше, указав на две возможные проблемы.
выпуск 1:
Весьма вероятно, что нет "Control"
или "Cue-Lure"
в walking.dat$Application
. Я бы посоветовал вам попробовать
with(walking.dat, unique(Application[Application %in% c("Control", "Cue-Lure")]))
чтобы посмотреть, что вы получаете. Возможно, вы либо получите один элемент, либо ничего.
Я могу легко восстановить ошибку, с которой вы столкнулись. Рассмотрим встроенный набор данных R airquality
.
data(airquality)
unique(airquality$Month) ## 5 6 7 8 9
wilcox.test(Ozone ~ Month, data = airquality, subset = Month %in% c(6, 7)) ## fine
wilcox.test(Ozone ~ Month, data = airquality, subset = Month %in% c(1, 7)) ## fail
Во втором случае вы получите сообщение об ошибке:
Error in wilcox.test.formula(Ozone ~ Month, data = foo, subset = Month %in% :
grouping factor must have exactly 2 levels
, потому что 1 не является доступная стоимость Month
.
выпуск 2
Если существуют оба уровня, то я думаю, ваша переменная Application
является factor
. Проверьте class(Application)
. Проблему фактора, можно увидеть здесь:
x <- factor(letters[1:4])
x[x %in% c("a", "b")]
#[1] a b
#Levels: a b c d
Обратите внимание, что уровни фактора падают после %in%
. Однако, если вы это сделаете:
x <- as.character(x)
x[x %in% c("a", "b")]
#[1] "a" "b"
Несмотря на то, что вы получаете символы, метод формулы будет автоматически принуждать его к факторам. Таким образом, нет опасности, что дополнительные неиспользованные уровни факторов могут сломаться wilcox.test()
.
Кто-то отправил комментарий минуту назад, они предположили, что идентификатор необходимо запустить 'walking.dat $ Application <- as.character (walking.dat $ Application)' , прежде чем запускать мой тест, и он фиксирует Это. но я не уверен, почему он исправляет его – RyanMe321
Работал отлично :) – RyanMe321
Понятно, что у меня была просто функция 'as.character()', мы просто заменили этот столбец в наборе данных самим, указав его символ как с коэффициентом. – RyanMe321