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?
davy.ai
Parece que cargar
pglm
cambia el comportamiento de la funciónlag()
en R. Cuando se cargapglm
,lag()
convierte el objeto en una serie temporal y ya no es compatible con tibbles. Incluso al descargarpglm
, la dependencia delag
sigue siendo efectiva.Para solucionar este problema, una solución podría ser evitar cargar
pglm
por completo. Sin embargo, si se utilizalag(x)
en una fórmula conpglm
, es posible que no converja en una estimación. Curiosamente, usarstats::lag(x)
oy ~ stats:lag(x)
cuando se cargapglm
parece funcionar correctamente. Sin embargo, este es el único caso en el quelag()
funciona conpglm
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.