Я пытаюсь создать простой код, который я могу использовать снова и снова (с минимальными изменениями), чтобы иметь возможность печатать таблицу сводной статистики.
Воспроизводимый пример создает таблицу с M и SD для переменной V1
с разбивкой по группам:
data <- as.data.frame(cbind(1:100, sample(1:2), rnorm(100), rnorm(100)))
names(data) <- c("ID", "Group", "V1", "V2")
library(dplyr)
descriptives <- data %>% group_by(Group) %>%
summarize(
Mean = mean(V2)
, SD = sd(V2)
)
descriptives
Я бы хотел изменить эту функцию, чтобы она вычисляла M и SD для всех переменных в моем наборе данных.
Я хотел бы иметь возможность заменить вызов V1
чем-то вроде vars
, который является просто списком всех переменных в моем наборе данных; в этом примере V1 и V2. Но обычно у меня есть около 100 переменных. Причина, по которой я хочу, чтобы это работало таким образом, заключается в том, что я могу сделать что-то очень простое, например:
vars <- names(data[3:4])
и очень быстро выбрать столбцы, для которых мне нужна сводная статистика.
Несколько вещей для моего списка желаний:
M и SD для данной переменной должны быть рядом друг с другом, и я хотел бы добавить столбец над каждой парой с именем переменной.
I ' мне бы хотелось, чтобы конечный продукт выглядел примерно так:
Я бы хотел использовать dplyr, но я открыт для других вариантов. Я также хотел бы узнать, как можно переключать строки и столбцы таблицы так, чтобы переменные находились в отдельных строках, и у каждой группы был столбец (или два столбца, один для M и один для SD).