通过texreg或stargazer显示Amelia,Multiple Imputation的结果

时间:2016-10-21 13:54:54

标签: r stargazer texreg r-zelig

我想知道如何通过Ameliatexreg将多重归集stargazer摘要的结果导出到tex或html。 但是,这两种类型的包都显示错误。

library(Amelia)
library(Zelig)
library(texreg)
library(stargazer)

mi <-amelia(x = d,m = 5)
summary(mi)
lmi <- zelig(y ~ x1+x2,
 data = m, model = "logit")
summary(lmi)
mi2 <-amelia(x = d,m = 5)
summary(mi2)
lmi2 <- zelig(y ~ x1+x2,
 data = m2, model = "logit")
summary(lmi2)

stargazer(lmi,lmi2, title="hogehoge", omit.stat=c("f","ser"), align=T, no.space=T)

>Error in envRefInferField(x, what, getClass(class(x)), selfEnv) :
>‘result’ is not a valid field or method name for reference class “Zelig-logit”

models <- list(lmi,lmi2)
texreg(l=models,file="texreg.tex", caption="texreg",
    digits=3, booktabs=T, dcolumn=T, center=T, use.packages=F, caption.above=T, custom.model.names=c("model1", "model2"))

>Error in (function (classes, fdef, mtable)  :
>unable to find an inherited method for function ‘extract’ for signature ‘"Zelig-logit"’

如何通过R显示多次插补的结果?

P.S。

> summary(lmi)
Model: Combined Imputations 
                    Estimate Std.Error  z value  Pr(>|z|)    
(Intercept)         -4.15186   0.41048 -10.1147 0.000e+00 ***
x1                   9.76225   0.18356  12.4336 0.000e+00 ***
x2                   1.76719   0.18031  10.9489 0.000e+00 ***
---
Signif. codes:  '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

For results from individual imputed datasets, use summary(x, subset = i:j)
Next step: Use 'setx' method

lmi2与lmi相似。

2 个答案:

答案 0 :(得分:1)

并非所有模型对象当前都支持这两个包,我想您正在使用的模型就是这种情况。如果观星者不支持你的模型对象我不知道解决方案。但是,texreg是可扩展的:您可以编写一个简单的函数来从模型对象中提取所需内容,然后普通的texreg命令将与该提取函数一起使用。有关texreg的this article清楚解释了这一点,请参见第6节。

texreg的作者还写了一个例子,说明如何编写提取函数来回答我问here的问题,并写了一篇关于如何扩展texreg here的更全面的评论。我建议你编写与模型对象一起使用的提取函数,然后你可以使用texreg。

答案 1 :(得分:0)

texreg现在可以处理Zelig对象,并通过Zelig与Amelia,Mice和Mi合作。使用功能to_zelig_mi创建Zelig可以识别的数据对象。