R: пакет expss: возможно ли автоматизировать генерацию таблицы?
Я ищу способ автоматизировать генерацию таблиц с помощью пакета expss, пытаясь перейти от spss к R. Я думаю, что это должно быть просто, но я что-то упускаю...
Я определяю только несколько разных таблиц в зависимости от типа вопроса. Например. таблица для одного ответа выглядит ниже
banner <- d %>% tab_cols(total(),Q2.banner,Q3.banner)
banner %>%
tab_cells (Q1) %>%
tab_stat_cases(total_row_position = c("above"),label = 'N') %>%
tab_stat_cpct(total_row_position = c("none"), label = '%') %>%
tab_pivot (stat_position = "inside_rows") %>%
drop_c () %>%
custom_format()
Я ищу функцию, в которой мне нужно только указать переменную, например.
Table1 = function (Q, banner) {
banner %>%
tab_cells (Q) %>%
tab_stat_cases(total_row_position = c("above"),label = 'N') %>%
tab_stat_cpct(total_row_position = c("none"), label = '%') %>%
tab_pivot (stat_position = "inside_rows") %>%
drop_c () %>%
custom_format()
}
В идеале я хотел бы также добавить заголовок таблицы. Я бегу за столами в R Notebook.
Любые другие советы по автоматизации генерации таблиц приветствуются.
Спасибо за помощь, Михаэль
1 ответ
Существует довольно универсальное решение для работы с нестандартной оценкой - eval.parent(substitute(...))
, В вашем случае это выглядит так:
Table1 = function (Q, banner) {
eval.parent(substitute(
{
banner %>%
tab_cells (Q) %>%
tab_stat_cases(total_row_position = c("above"),label = 'N') %>%
tab_stat_cpct(total_row_position = c("none"), label = '%') %>%
tab_pivot (stat_position = "inside_rows") %>%
drop_c () %>%
custom_format()
}
))
}