4

我使用在表格texreg中报告几个随机效应模型(使用 估计)的结果。plm

如何将 Hausman 检验的 p 值(将每个模型与其固定效应对应物进行比较)添加到由报告的拟合优度度量texreg?更一般地说,我如何报告其他拟合优度度量texreg

4

2 回答 2

5

假设您有一个名为 的模型对象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 论坛中提出建议。

于 2013-11-11T23:19:14.287 回答
1

我找到了一种将 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))
于 2016-12-14T21:37:09.237 回答