正如标题所说。我加载后pglm
, lag
停止正常工作。
library(pglm)
c(1,2,3,4) %>% lag()
该对象被转换为时间序列,并且不再与 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
method lag.pseries
由通用调度lag
在统计数据中。其他软件包,例如 plm 等,提供通用方法lag
;然而, dplyr 用它自己的非泛型破坏了泛型lag
所以所有使用的包lag
然后失败。如果您需要在 pglm 加载 dplyr 的同时加载 dplyr,但不包括lag
如果你需要使用 dplyr 的lag
use dplyr::lag
。同上filter
.
library(dplyr, exclude = c("filter", "lag"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)