Вопросы

Использование tbl_regression для многомерной регрессии во вложенных фреймах данных

Я делаю многомерную регрессию по списку переменных результата с последовательным набором независимых переменных. Для одномерной регрессии я следовал этому примеру использовать 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

Читать:
Сгруппированная столбчатая диаграмма в R с помощью GoogleVis

@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

Похожие записи

Как работает зона доступности Aws ecs fargate?

admin

Установите состояние автоматизации Azure как сбой при ошибке Invoke-AzVMRunCommand, чтобы вызвать предупреждение

admin

Не удается установить пакет numpy в pycharm

admin

как сделать ширину w2grid 100%?

admin

Кипарисовые тесты периодически терпят неудачу

admin

Не удается установить паркет через pip или conda на macOS Big Sur

admin