我无法从pgmm
对象中提取自由度数。命令df.resudual()
曾经工作得很好,但现在却没有。它不是返回一个数字,而是返回df.residual()
函数本身。
以下是使用plm
文档的最小示例:
data("EmplUK", package="plm")
emp.gmm <- pgmm(log(emp)~lag(log(emp), 1:2)+lag(log(wage), 0:1)+log(capital)+
lag(log(output), 0:1)|lag(log(emp), 2:99),
data = EmplUK, effect = "twoways", model = "twosteps")
df.residual(emp.gmm)
> function (object, ...)
> UseMethod("df.residual")
> <bytecode: 0x39a9370>
> <environment: namespace:stats>
我试着查看pgmm命令来弄清楚发生了什么,我认为问题出在这一行:
result <- list(coefficients = coefficients, residuals = residuals,
vcov = vcov, fitted.values = fitted.values, df.residual = df.residual,
model = yX, W = W, A1 = A1, A2 = A2, call = cl, args = args)
由于先前未定义df.residual
,因此列表条目df.residual = df.residual只返回(通用)函数的全局条目。
这是包中的错误吗?或者还有其他事情发生在这里?我之前能够从pgmm对象中提取DoF。
PS。这在Cross Validated关闭了。原来在这里:https://stats.stackexchange.com/questions/339239/extracting-residual-degrees-of-freedom-from-pgmm-object