我使用在表格texreg
中报告几个随机效应模型(使用 估计)的结果。plm
如何将 Hausman 检验的 p 值(将每个模型与其固定效应对应物进行比较)添加到由报告的拟合优度度量texreg
?更一般地说,我如何报告其他拟合优度度量texreg
?
假设您有一个名为 的模型对象model
,您应该遵循三个步骤:
1) 执行tr <- extract(model)
以创建texreg
对象。
2) 操作这个 texreg 对象。例子:
tr@gof <- c(tr@gof, 0.5)
tr@gof.names <- c(tr@gof.names, "new row")
tr@gof.decimal <- c(tr@gof.decimal, TRUE)
3)执行你原来的texreg
命令,但包括tr
对象而不是原来的model
. 示例:screenreg(tr)
。
如果您认为 GOF 度量应该包含在默认情况下包含在 texreg 包中的提取方法中,您应该在 R-Forge 上的 texreg 论坛中提出建议。
我找到了一种将 Hausman 检验的 p 值(和其他额外的 GOF 度量)添加到 texreg 表的方法。此方法将自动获取 GOF 度量,因此您不必手动执行此操作。询问您是否有任何问题。
假设“random1”和“fixed1”是你的模型
首先将豪斯曼检验变成一个对象
ph1 <- phtest(random1, fixed1)
然后提取模型的系数
sf1 <- summary(fixed1)
names1 <- rownames(sf1$coef)
co1 <- sf1$coef[, 1]
se1 <- sf1$coef[, 2]
pval1 <- sf1$coef[, 4]
然后提取您选择的 GOF
pval.ftest1 <- (summary(fixed1)$fstatistic)$p.value
rs1 <- sf1$r.squared
adj1 <- sf1$adj.r.squared
n1 <- nobs(fixed1)
phtest1 <- fp.value.fixed1
选择要包含在表中的 GOF
gof1 <- c(pval.ftest1, rs1, adj1, n1, phtest1)
gof.names1 <- c("p\\ (F-test)","R$^2$", "Adj.\\ R$^2$", "Num.\\ Obs.", "p\\ (Hausman\\ test)")
为 GOF 选择小数位
decimal.places <- c(TRUE, TRUE, TRUE, FALSE, TRUE)
创建一个 texreg 对象
tr1 <- createTexreg(coef.names = names1, coef = co1, se = se1, pvalues = pval1, gof.names = gof.names1, gof = gof1, gof.decimal = decimal.places)
使用 screenreg 检查一切是否正常
screenreg(tr1)
如有必要,对所有模型(fixed2、fixed3...& random2、random3...)重复相同的操作。
在使用 texreg 或 htmlreg 函数之前,检查所有模型是否一切正常
screenreg(list(tr1, tr2, tr3, tr4, tr5))