Я следую инструкциям здесь , чтобы создать чистую таблицу сводной статистики.
В этих инструкциях входные данные для функции summary_table () представляют собой список списков, как показано здесь:
our_summary1 <-
list("Miles Per Gallon" =
list("min" = ~ min(.data$mpg),
"max" = ~ max(.data$mpg),
"mean (sd)" = ~ qwraps2::mean_sd(.data$mpg)),
"Displacement" =
list("min" = ~ min(.data$disp),
"median" = ~ median(.data$disp),
"max" = ~ max(.data$disp),
"mean (sd)" = ~ qwraps2::mean_sd(.data$disp)),
"Weight (1000 lbs)" =
list("min" = ~ min(.data$wt),
"max" = ~ max(.data$wt),
"mean (sd)" = ~ qwraps2::mean_sd(.data$wt)),
"Forward Gears" =
list("Three" = ~ qwraps2::n_perc0(.data$gear == 3),
"Four" = ~ qwraps2::n_perc0(.data$gear == 4),
"Five" = ~ qwraps2::n_perc0(.data$gear == 5))
)
У меня есть 48 переменных в моем наборе данных, и каждая переменная имеет свой собственная колонка. Есть ли более чистый способ циклически перебирать все столбцы в моем фрейме данных, чтобы создать объект, подобный приведенному выше, не печатая его вручную, как это? В идеале я бы предпочел решение с использованием Tidyverse.
Одна вещь, которую я собирался сделать, это изменить мои данные на длинный формат, затем с помощью group_by () сгруппировать по каждому столбцу исходные данные, а затем с помощью summaze (). Тем не менее, я понимаю, что это приведет к одному списку, а не список списков, как это необходимо для summary_table ().
Если существует совершенно другой способ создания сводной таблицы, чем то, что я пытаюсь сделать здесь, пожалуйста, дайте мне знать. Этот вариант выглядел как самый лучший из рассматриваемых мной вариантов. Для каждой переменной я хотел бы иметь возможность переименовать ее и включить минимальное значение, максимальное значение, среднее значение и стандартное отклонение.