我使用texreg
在表格中报告几个随机效果模型的结果(使用plm
估算)。
如何将Hausman检验的p值(将每个模型与其固定效应对应物进行比较)与texreg
报告的拟合优度度量相加?更一般地说,如何使用texreg
答案 0 :(得分: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)
。
如果您认为默认情况下应该在texreg包中包含的提取方法中包含GOF度量,您应该在R-Forge的texreg论坛中提出建议。
答案 1 :(得分:1)
我找到了一种方法来将Hausman测试的p值(和其他额外的GOF测量值)添加到texreg表中。此方法将自动获取GOF度量,因此您不必手动执行此操作。询问您是否有任何问题。
假设&#34; random1&#34;和&#34; fixed1&#34;是你的模特
首先将Hausman测试变成对象
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 ......&amp; random2,random3 ......)重复相同的操作。
在使用texreg或htmlreg函数之前检查所有模型的一切是否正常
screenreg(list(tr1, tr2, tr3, tr4, tr5))