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.

El lag() de pglm parece tener un error con el lag() de stats.

Como dice el título. Después de cargar pglm, lag deja de funcionar correctamente.

library(pglm)

c(1,2,3,4) %>% lag()

el objeto se convierte en una serie temporal y ya no es compatible con los tibbles.

Incluso después de desactivar pglm, la dependencia de lag sigue siendo efectiva.

Una solución podría ser nunca cargar pglm, pero entonces si tengo un lag(x) en la fórmula

pglm:pglm(
    family= poisson,
    y ~ lag(x),
    model = "within", index="id",
    data = db
)

El algoritmo no puede converger en una estimación. Por alguna razón esto sucede incluso si se fuerza stats::lag(x). Lo curioso es que, en cambio, si se carga pglm, y ~ lag(x) funciona correctamente como y ~ stats:lag(x).

¡Este es el único caso donde funciona, sin embargo! Lo único más que se me ocurre es que fuera de las fórmulas, dplyr::lag es el responsable del conflicto.

No sé cómo optimizar el flujo de trabajo, ¿tienes sugerencias?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que cargar pglm cambia el comportamiento de la función lag() en R. Cuando se carga pglm, lag() convierte el objeto en una serie temporal y ya no es compatible con tibbles. Incluso al descargar pglm, la dependencia de lag sigue siendo efectiva.

    Para solucionar este problema, una solución podría ser evitar cargar pglm por completo. Sin embargo, si se utiliza lag(x) en una fórmula con pglm, es posible que no converja en una estimación. Curiosamente, usar stats::lag(x) o y ~ stats:lag(x) cuando se carga pglm parece funcionar correctamente. Sin embargo, este es el único caso en el que lag() funciona con pglm cargado.

    Es posible que fuera de las fórmulas, el conflicto con dplyr::lag también sea un factor.

    Optimizar el flujo de trabajo en este escenario puede requerir una investigación y experimentación más detallada, como probar paquetes o funciones alternativas para datos de panel o explorar diferentes técnicas de modelado.

Comments are closed.