Наблюдения в моих данных содержатся в группах, и я пытаюсь получить несколько сводных статистических данных (например, среднее значение, медиана, длина, стандартное отклонение) для каждой группы с помощью функции summarize_all.
Проблема в том, что некоторые функции (например, mean, median) требуют аргумента na.rm = T, а другие нет (например, n ()). Когда я указываю na.rm = T в summarize_all, он применяет аргумент na.rm к каждой перечисленной функции (ниже, mean и sd).
library(dplyr)
airquality %>%
select(Month, Ozone, Solar.R, Temp) %>%
group_by(Month) %>%
summarize_all(list(mean, sd), na.rm=T)
НО, когда он также применяет его к n (), когда я включаю эту функцию, что дает мне ошибку: «Ошибка: ошибка оценки: неиспользованные аргументы (Ozone, na.rm = TRUE)»
airquality %>%
select(Month, Ozone, Solar.R, Temp) %>%
group_by(Month) %>%
summarize_all(list(mean, sd, n), na.rm=T)
Я также хотел бы знать, как избавиться от ужасных имен столбцов, которые summarize_all создает при использовании более чем одной функции. Например, в первом фрагменте кода я получаю имена столбцов типа mpg_<S4: standardGeneric>
и cyl_<S4: standardGeneric>
.
na.rm
? если вы вытащите na.rm, вы все равно получите ошибку озона. Я думаю, проблема в том, что mean и sd принимают входные аргументы, тогда как n () не имеет входных данных. - person Jacqueline Nolis   schedule 07.08.2019