Проблема с функцией nor.test в R. Размер выборки должен быть от 3 до 5000.

У меня возникла проблема с использованием функции nor.test в качестве одностороннего теста в R. Мои данные содержат значение доходности (Rdt_pied), сгруппированное по обработке (Traitement). В каждом лечении у меня есть от 60 до 90 значений.

> describe(Rdt_pied ~ Traitement, data = dataMax) 

      n     Mean  Std.Dev Median Min  Max   25th    75th  Skewness Kurtosis NA
G(1) 90 565.0222 282.1874  535.0  91 1440 379.00  751.25 0.7364071 3.727566  0
G(2) 90 703.1444 366.1114  632.5 126 1628 431.50 1007.75 0.4606251 2.392356  0
G(3) 90 723.9667 523.5872  650.5  64 2882 293.50 1028.50 1.2606231 5.365014  0
G(4) 90 954.1000 537.0138  834.5  83 2792 565.25 1143.75 1.1695460 4.672321  0
G(A) 60 368.0667 218.1940  326.0  99 1240 243.00  420.00 2.2207612 9.234473  0
G(H) 60 265.4667 148.0383  223.5 107  866 148.00  357.25 1.3759925 5.685456  0
G(S) 60 498.8000 280.1277  401.0 170 1700 292.75  617.50 1.6792061 7.125804  0
G(T) 60 521.7167 374.7822  448.5  74 1560 214.00  733.25 1.1367209 3.737134  0
>  

Почему nor.test возвращает мне этот ответ?

> nor.test(Rdt_pied ~ Traitement, data = dataMax) 

Error in shapiro.test(y[which(group == (levels(group)[i]))]) : 
  sample size must be between 3 and 5000

Спасибо за помощь!


person DSR    schedule 10.04.2020    source источник
comment
Уважаемый @DSR, я не могу воспроизвести вашу ошибку с набором данных радужной оболочки (onewaytests::nor.test(Sepal.Length ~ Species, data = iris) работает нормально). Попробуйте предоставить минимальный воспроизводимый пример с некоторыми данными. Это может помочь понять, что не так.   -  person jkd    schedule 10.04.2020
comment
Здравствуйте, спасибо за ваш ответ! Наконец-то мне удалось использовать эту функцию. Группа G, которая не появляется с функцией описания, не содержит значений. Даже при использовании функции filter(Traitement!="G") nor.test был возмущен этим. Я изменил файл csv, и теперь он работает...   -  person DSR    schedule 14.04.2020


Ответы (1)


Не использовал этот пакет, но в соответствии с документацией (и вашей ошибкой) nor.test по умолчанию выполняет тест на нормальность Шапиро-Уилка, для которого в качестве входных данных требуется числовой вектор (не менее 3 значений). Я предполагаю, что существует группа, основанная на Traitement, которая имеет менее 3 значений или более 5000. Попробуйте проверить это чем-то вроде

table(dataMax$Traitement)
person Claud H    schedule 10.04.2020
comment
Здравствуйте, спасибо за ваш ответ! Наконец-то мне удалось использовать эту функцию. Группа G, которая не появляется с функцией описания, не содержит значений. Даже при использовании функции filter(Traitement!="G") nor.test был возмущен этим. Я изменил файл csv, и теперь он работает... - person DSR; 14.04.2020
comment
Если он отвечает на ваш вопрос, отметьте его как «Принято». - person Claud H; 15.04.2020