我想从plm对象中提取日志可能性。
当使用基类stats包中的stats函数与lfe包中的felm或fixest包中的feols一起使用时,它工作得很好,但对于产生错误消息的任何plm对象,都不能这样做:
Error in UseMethod("logLik") :
no applicable method for 'logLik' applied to an object of class "c('plm', 'panelmodel')"我检查了,plm不是在stats包中定义的类(参见stats:::)。
我是否在概念上遗漏了一些东西(意识到这是一种ML估计)?正因为如此,为什么lfe和fixest使它工作,plm却不能呢?有解决办法吗?
谢谢!
library(plm)
library(lfe)
library(fixest)
data("Produc", package = "plm")
# lfe
xx <- felm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp| state + year|0|0,data = Produc)
summary(xx)
logLik(xx)
# fixest
yy <- feols(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp| state + year,data = Produc)
summary(yy)
logLik(yy)
# PLM
zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,data = Produc, index = c("state","year"))
summary(zz)
logLik(zz)发布于 2020-12-13 18:04:36
我想我想明白了:
object这里是一个plm对象,就像上面的zz一样。
logLik.plm <- function(object){
out <- -plm::nobs(object) * log(2 * var(object$residuals) * pi)/2 - deviance(object)/(2 * var(object$residuals))
attr(out,"df") <- nobs(object) - object$df.residual
attr(out,"nobs") <- plm::nobs(summary(object))
return(out)
}然后,这也应该与AIC命令一起工作。
我创建了一个公共要旨这里。
https://stackoverflow.com/questions/64186453
复制相似问题