Когда я запускаю код shapiro.test с помощью функции group_by, я получаю сообщение об ошибке - PullRequest
0 голосов
/ 04 мая 2018

Вот фрейм данных и код в упрощенном виде

Type <- c("Bark", "Redwood", "Oak")
size <- c(10,15,13)
width <- c(3,4,5)
Ratio <- size/width
df <- data.frame(Type, size, width, Ratio)
mutate(df, ratio_log = log10(Ratio))
df %>% group_by(Type) %>% shapiro.test(ratio_log)

# Error in shapiro.test(., ratio_log) : unused argument (ratio_log)

Пожалуйста, помогите! Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Глядя на ?shapiro.test, мы видим, что единственным возможным аргументом является:

  • x, числовой вектор значений данных

Используя оператор %>%, вы можете видеть, что на выводе выводится

Ошибка в shapiro.test (., Ratio_log): неиспользованный аргумент (ratio_log)

Обратите внимание на точку перед ratio_log. Это означает, что shapiro.test уже рассмотрел df в качестве аргумента.

Нет необходимости в группировке для использования shapiro.test. Кроме того, чтобы использовать столбец, который вы создали в df, вы должны написать:

df <- df %>% mutate(df, ratio_log = log10(Ratio))

Теперь вы можете использовать shapiro.test как

shapiro.test(df$ratio_log)

или

df$ratio_log %>% shapiro.test
...