Я создаю кучу базовых отчетов о состоянии, и одной из вещей, которые я считаю утомительным, является добавление итоговой строки ко всем моим таблицам. В настоящее время я использую подход Tidyverse, и это пример моего текущего кода. То, что я ищу, - это возможность включить несколько разных уровней по умолчанию.
#load into RStudio viewer (not required)
iris = iris
#summary at the group level
summary_grouped = iris %>%
group_by(Species) %>%
summarize(mean_s_length = mean(Sepal.Length),
max_s_width = max(Sepal.Width))
#summary at the overall level
summary_overall = iris %>%
summarize(mean_s_length = mean(Sepal.Length),
max_s_width = max(Sepal.Width)) %>%
mutate(Species = "Overall")
#append results for report
summary_table = rbind(summary_grouped, summary_overall)
Делать это несколько раз очень утомительно. Я вроде хочу:
summary_overall = iris %>%
group_by(Species, total = TRUE) %>%
summarize(mean_s_length = mean(Sepal.Length),
max_s_width = max(Sepal.Width))
К вашему сведению - если вы знакомы с SAS, я ищу те же функциональные возможности, которые доступны через класс, способы или типы операторов в proc, что позволяет мне контролировать уровень суммирования и получать несколько уровней за один вызов.
Любая помощь приветствуется. Я знаю, что могу создать свою собственную функцию, но надеялся, что что-то уже существует. Я также предпочел бы придерживаться стиля программирования, хотя я не настроен на это.