Если вы уже используете dplyr
, вы можете использовать длинные данные и группирование данных и рассматривать все функции, которые вам нужны, как суммирование.Это позволяет легко масштабировать, так что это тот же рабочий процесс для 3 переменных, что и для 25 или 100. Это также позволяет относительно быстро применять любые функции, которые вы хотите.
Я сделал фиктивные данные с помощью x, y,и z, затем привязать к нему пару строк NA
s, чтобы показать количество пропущенных значений.Соберите его для длинных данных, сгруппируйте по переменной, затем используйте любые функции суммирования, которые вам нужныЯ начал первые несколько названных вами.Это дает вам запрошенный формат.
library(tidyverse)
tibble(
x = rnorm(100, mean = 1, sd = 1),
y = rnorm(100, mean = 10, sd = 1),
z = rexp(100, rate = 0.01)
) %>%
bind_rows(tibble(x = c(NA, NA), y = c(NA, NA), z = c(NA, NA))) %>%
gather(key = variable, value = value) %>%
group_by(variable) %>%
summarise(
count = n(),
missing = sum(is.na(value)),
share_missing = missing / count,
mean = mean(value, na.rm = T),
sd = sd(value, na.rm = T),
q1 = quantile(value, 0.25, na.rm = T)
)
#> # A tibble: 3 x 7
#> variable count missing share_missing mean sd q1
#> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl>
#> 1 x 102 2 0.0196 0.997 1.08 0.246
#> 2 y 102 2 0.0196 9.81 0.962 9.10
#> 3 z 102 2 0.0196 106. 90.6 39.9
Создан в 2018-05-20 пакетом представлением (v0.2.0).