pglm 的 lag() 似乎错误了 stats 的 lag()
lag() from pglm seems to bug lag() from stats
正如标题所说。在我加载 pglm
后,lag
停止正常工作。
library(pglm)
c(1,2,3,4) %>% lag()
object 已转换为时间序列,不再与 tibbles 兼容。
即使卸载pglm
,lag
的依赖仍然有效。
一个解决方案可能是实际上从不加载 pglm
,但是如果我在公式
中有一个 lag(x)
pglm:pglm(
family= poisson,
y ~ lag(x),
model = "within", index="id",
data = db
)
算法无法收敛为估计值。由于某些原因,这种情况甚至会发生 stats::lag(x)
。有趣的是,相反,如果加载了 pglm
,y ~ lag(x)
会像 y ~ stats:lag(x)
.
一样正常工作
这是唯一有效的情况,呵呵!我唯一想到的另一件事是外部公式,dplyr::lag
是冲突的罪魁祸首。
我不知道如何优化工作流程,你有什么建议吗?
dplyr 是这里的罪魁祸首。 plm(由 pglm 使用)定义了一个 lag
方法 lag.pseries
,它由 stats 中的通用 lag
调度。其他包,例如 plm 和其他包,为通用 lag
; 提供方法。然而,dplyr 用它自己的非泛型 lag
破坏了泛型,所以所有使用 lag
的包都会失败。如果您需要在 pglm 加载 dplyr 的同时加载 lag
并且如果您需要使用 dplyr 的 lag
使用 dplyr::lag
。 filter
.
同上
library(dplyr, exclude = c("filter", "lag"))
正如标题所说。在我加载 pglm
后,lag
停止正常工作。
library(pglm)
c(1,2,3,4) %>% lag()
object 已转换为时间序列,不再与 tibbles 兼容。
即使卸载pglm
,lag
的依赖仍然有效。
一个解决方案可能是实际上从不加载 pglm
,但是如果我在公式
lag(x)
pglm:pglm(
family= poisson,
y ~ lag(x),
model = "within", index="id",
data = db
)
算法无法收敛为估计值。由于某些原因,这种情况甚至会发生 stats::lag(x)
。有趣的是,相反,如果加载了 pglm
,y ~ lag(x)
会像 y ~ stats:lag(x)
.
这是唯一有效的情况,呵呵!我唯一想到的另一件事是外部公式,dplyr::lag
是冲突的罪魁祸首。
我不知道如何优化工作流程,你有什么建议吗?
dplyr 是这里的罪魁祸首。 plm(由 pglm 使用)定义了一个 lag
方法 lag.pseries
,它由 stats 中的通用 lag
调度。其他包,例如 plm 和其他包,为通用 lag
; 提供方法。然而,dplyr 用它自己的非泛型 lag
破坏了泛型,所以所有使用 lag
的包都会失败。如果您需要在 pglm 加载 dplyr 的同时加载 lag
并且如果您需要使用 dplyr 的 lag
使用 dplyr::lag
。 filter
.
library(dplyr, exclude = c("filter", "lag"))