Параметризованная функция группового тестирования в R
Задача - построить функцию, которая принимает на вход data.frame гарантированно состоящий из 3 переменных. Первая переменная всегда количественная, две другие - факторы с двумя уровнями. Функция должна возвращать таблицу сочетаний с уровней факторов и соответствующие значения теста первой количественной переменной.
Мой вариант:
normality_by <- function(test){
test %>%group_by(test[,2], test[,3]) %>% summarise(p_value = shapiro.test(test[,1])$p.value)
}
Однако он выдает р-значение без учета группировок.
normality_by(mtcars[,c('mpg', 'am', 'vs')])
Кроме того, теряются имена переменных в результирующем тиббле.
Как можно исправить эти ошибки?
