expss tab_pivot() не возвращает ничего из цикла for
expss отлично подходит для моей цели, но у меня небольшая проблема с этим.
Попробуйте 1 (не работает): когда я использую expss на фрейме данных, все работает нормально, но затем я хочу установить поднабор фрейма данных и затем вызвать expss для каждого подмножества. Для подмножества и вызова expss я использую цикл for. Кадр данных правильно задан, но expss ничего не возвращает.
municipal_lists <- unique(leeftijd1$Regio)[1:3]
for (i in seq_along(municipal_lists)){
zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[i])
zx %>%
expss::tab_rows(Regio) %>%
expss::tab_cells(`Leeftijdscategorie 1`) %>%
expss::tab_cols(Perioden) %>%
expss::tab_stat_cases() %>%
expss::tab_pivot()
}
Попробуйте 2 (не работает): Затем я создал функцию всех вызовов Expss. Когда я использую эту функцию на фрейме данных, она работает. Но если я помещаю эту функцию в цикл for, из функции ничего не возвращается.
get_table <-function(zx){
zx %>%
expss::tab_rows(Regio) %>%
expss::tab_cells(`Leeftijdscategorie 1`) %>%
expss::tab_cols(Perioden) %>%
expss::tab_stat_cases() %>%
expss::tab_pivot() #%>%
}
municipal_lists <- unique(leeftijd1$Regio)[1:3]
for (i in seq_along(municipal_lists)){
zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[i])
get_table(zx)
}
Функция работает: вызов функции работает без цикла for, но для всего фрейма данных (с фиксированным индексом)
get_table <-function(zx){
zx %>%
expss::tab_rows(Regio) %>%
expss::tab_cells(`Leeftijdscategorie 1`) %>%
expss::tab_cols(Perioden) %>%
expss::tab_stat_cases() %>%
expss::tab_pivot()
}
municipal_lists <- unique(leeftijd1$Regio)[1:3]
zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[1])
get_table(zx)
Прямой вызов работает: самая простая форма без цикла for или без вызова функции работает должным образом.
zx <- leeftijd1
zx %>%
expss::tab_rows(Regio) %>%
expss::tab_cells(`Leeftijdscategorie 1`) %>%
expss::tab_cols(Perioden) %>%
expss::tab_stat_cases() %>%
expss::tab_pivot()
Итак, как мне получить таблицу Expss для каждого подмножества большого кадра данных? Может кто-нибудь направить меня, пожалуйста.
1 ответ
Вам нужно что-то сделать с результатом ваших вычислений внутри цикла. Вы можете распечатать их, например:
municipal_lists <- unique(leeftijd1$Regio)[1:3]
for (i in seq_along(municipal_lists)){
zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[i])
zx %>%
expss::tab_rows(Regio) %>%
expss::tab_cells(`Leeftijdscategorie 1`) %>%
expss::tab_cols(Perioden) %>%
expss::tab_stat_cases() %>%
expss::tab_pivot() %>%
print()
}