es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

tbl_regression(), plm y mice – Error: Las columnas de Tibble deben tener tamaños compatibles

Estoy tratando de imprimir un modelo de regresión usando tbl_regression() en un objeto plm con datos imputados múltiples. He encontrado que puedo imprimir la tabla de regresión si el plm tiene una variable independiente, pero no si tiene dos o más variables independientes.

Entiendo que el mensaje de error a continuación es común, pero no entiendo lo que significa en el contexto de tbl_regression y datos imputados múltiples. ¿Hay un error en gtsummary o hay algo mal con mi código?

library(mice, warn.conflicts = FALSE)
library(mitools)
library(missMethods)
library(plm)
library(gtsummary)
options(scipen=999)
set.seed(12345)

data("Grunfeld")
df <- delete<em>MCAR(Grunfeld, p = 0.3, cols</em>mis = c(3:5)) 
imp <- mice::mice(df, m = 5, print = FALSE)

implist <- imputationList(
  lapply(1:imp$m, function(n) mice::complete(imp, action = n)))

fit1 <- lapply(implist$imputations, function(x){ plm(inv ~ value, data = x, model = "within", index = c("firm", "year"))})

tbl_regression(as.mira(fit1)) # funciona

fit2 <- lapply(implist$imputations, function(x){ plm(inv ~ value + capital, data = x, model = "within", index = c("firm", "year"))})
tbl_regression(as.mira(fit2)) # no funciona

> pool<em>and</em>tidy_mice(): Tidying mice model with

> <code>mice::pool(x) %>% mice::tidy(exponentiate = FALSE, conf.int = TRUE, conf.level = 0.95)</code>

> Error: Las columnas de la tabla deben tener tamaños compatibles.

> * Tamaño 2: Datos existentes.

> * Tamaño 3: Columna <code>variable</code>.

> ℹ Solo se pueden reciclar valores de tamaño uno.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que hay un problema de compatibilidad con los tamaños de las columnas de Tibble, específicamente que la columna variable tiene un tamaño diferente al de los datos existentes. Este error suele ocurrir cuando se aplica tbl_regression() a un modelo que tiene más de una variable independiente, y se debe a un error conocido en gtsummary.

    Una solución alternativa a este problema es utilizar la función glance() del paquete broom para extraer los resúmenes del modelo, y luego utilizar tbl_regression() para crear la tabla. Esto debería funcionar tanto para modelos con una variable independiente como para modelos con varias variables independientes. Aquí tienes un ejemplo:

    “`{r}
    library(broom)

    fit2_summary <- lapply(fit2, glance)
    tbl_regression(fit2_summary, exponentiate = FALSE)
    “`

    Este código debería generar una tabla de regresión con los coeficientes del modelo, errores estándar, valores t y valores p. El argumento exponentiate = FALSE asegura que los coeficientes no se transformen en odds ratios, que es el comportamiento predeterminado en tbl_regression().

Comments are closed.