Вот мои данные:
library(tidyverse)
library(srvyr)
x <- structure(list(weight_. = c(0.533483250400349, 0.501519621255761,
0.377142269444863, 0.353321846438303, 0.541351935749236, 0.377142269444863,
0.848202098220559, 0.466419776588491, 0.848202098220559, 0.507159979159623),
region = structure(c(3L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L), .Label = c("м. Київ", "Північний", "Центральний"), class = "factor"),
age = structure(c(2L, 1L, 2L, 2L, 3L, 2L, 4L, 3L, 4L, 3L), .Label = c("18-24", "25-34", "35-44", "45+"), class = "factor"),
gender = structure(c(2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L), .Label = c("мужчина", "женщина"), class = "factor")), row.names = c(NA, 10L), class = "data.frame")
Я хочу зациклить group_by по разным столбцам (в этом примере это «регион»)
x %>%
as_survey(weights = c(weight_.)) %>%
group_by(region) %>%
summarize(n = survey_total(na.rm=T), m =survey_mean(na.rm=T))
В результате я хочу иметь список с таблицами, как показано ниже, с сгруппированной сводкой для каждого выбранного столбца.
A tibble: 3 x 5
region n n_se m m_se
<fct> <dbl> <dbl> <dbl> <dbl>
1 м. Київ 3.96 1.01 0.740 0.144
2 Північний 0.860 0.585 0.161 0.115
3 Центральний 0.533 0.533 0.0996 0.100
dput
, чтобы поделиться с нами частью ваших данных, чтобы мы могли провести с ними несколько тестов и воспроизвести ошибку. Кроме того, вы можете поделиться ожидаемым результатом, чтобы мы могли попытаться его достичь. (примечание: используйте @, чтобы ответить на комментарий, иначе людей не заметят) - person Dan Chaltiel   schedule 12.06.2020