Я делаю многомерную регрессию по списку переменных результата с последовательным набором независимых переменных. Для одномерной регрессии я следовал этому примеру использовать tl_uvregression из gtsummary во вложенном фрейме данных, но я пытаюсь обобщить это на многомерную регрессию, используя tbl_regression во вложенном фрейме данных, и когда я пытаюсь unnest таблицы, я получаю сообщение об ошибке, что вход должен быть списком векторов. Ниже показано, что я пробовал — я предполагаю, что мне не хватает небольшого, но важного шага, но я не могу понять, что это такое. Мой желаемый результат — это таблица выходных данных многомерной регрессии, где каждая модель является столбцом, а все ковариаты — строками (аналогично выполнению tbl_merge в списке каждой из этих многомерных моделей, выполняемых отдельно в tbl_regression).
library(tidyverse)
library(magrittr)
library(gtsummary)
library(broom)
id <- 1:2000
gender <- sample(0:1, 2000, replace = T)
age <- sample(17:64, 2000, replace = T)
race <- sample(0:1, 2000, replace = T)
health_score <- sample(0:25, 2000, replace = T)
cond_a <- sample(0:1, 2000, replace = T)
cond_b <- sample(0:1, 2000, replace = T)
cond_c <- sample(0:1, 2000, replace = T)
cond_d <- sample(0:1, 2000, replace = T)
df <- data.frame(id, gender, age, race, health_score, cond_a, cond_b, cond_c, cond_d)
regression_tables <- df %>% select(-id) %>%
gather(c(cond_a, cond_b, cond_c, cond_d), key = "condition", value = "case") %>%
group_by(condition) %>% nest() %>%
mutate(model = map(data, ~glm(case ~ gender + age + race + health_score, family = "binomial", data = .)),
table = map(model, ~tbl_regression, exponentiate = T, conf.level = 0.99)) %>%
select(table) %>% unnest(table)
Так почему бы не остановиться на шаге select и изучить структуру результата? — person Kellan Baker schedule 20.02.2021
@IRTFM Я сделал. И я не знаю, что делать с тем фактом, что table — это список функций. — person Kellan Baker schedule 20.02.2021
Попробуйте заменить последний select / nest на pull(table) %>% tbl_stack(). Используйте аргумент заголовка группы в функции стека, чтобы получить заголовки над каждой многомерной моделью. — person Kellan Baker schedule 20.02.2021
@ DanielD.Sjoberg большое вам спасибо! Я пробовал pull, но с переменной модели. Кроме того, @akrun заметил лишний ~ в вызове map(model, ~tbl_regression), который превращал вывод в непригодную для использования таблицу функций. — person Kellan Baker schedule 21.02.2021
