texreg-ing Tobit output from zelig package (R)

£可爱£侵袭症+ 提交于 2019-12-11 08:59:08

问题


This is a strange question, but here goes:

I am trying to output my model results into a TeX table with texreg.

reg <- zelig(Y ~ X, model = "tobit", below = 0, above = Inf)

However, I'm getting an error from texreg:

texreg(reg)

Error in .local(model, ...) : Only the following Zelig models are currently supported: logit, ls, mlogit, ologit, probit, relogit.

My question is basically: is this an error from Zelig or from texreg?


回答1:


UPDATE 2015-07-20:

extract.zelig now has a tobit method (Zelig_4.2-1)

So texreg(reg) now works as expected. I'll leave the below for posterity anyway.


Having identified the source of the issue, I updated the extract.zelig method and passed this along to the package creator/maintainer Philip Leifield, who incorporated into the latest R-Forge version (available via install.packages("texreg", repos="http://R-Forge.R-project.org")). I'm not sure it's in the current CRAN release (2015-04-07)...

Here's what we needed to add:

else if ("tobit" %in% class(model)) {
        coefficient.names <- rownames(s$table)
        coefficients <- s$table[, 1]
        standard.errors <- s$table[, 2]
        significance <- s$table[, 5]
        gof <- numeric()
        gof.names <- character()
        gof.decimal <- logical()
        if (include.aic == TRUE) {
            aic <- AIC(model)
            gof <- c(gof, aic)
            gof.names <- c(gof.names, "AIC")
            gof.decimal <- c(gof.decimal, TRUE)
        }
        if (include.bic == TRUE) {
            bic <- BIC(model)
            gof <- c(gof, bic)
            gof.names <- c(gof.names, "BIC")
            gof.decimal <- c(gof.decimal, TRUE)
        }
        if (include.loglik == TRUE) {
            lik <- logLik(model)[1]
            gof <- c(gof, lik)
            gof.names <- c(gof.names, "Log Likelihood")
            gof.decimal <- c(gof.decimal, TRUE)
        }
        if (include.nobs == TRUE) {
            n <- nrow(model$data)
            gof <- c(gof, n)
            gof.names <- c(gof.names, "Num. obs.")
            gof.decimal <- c(gof.decimal, FALSE)
        }
        tr <- createTexreg(coef.names = coefficient.names, coef = coefficients, 
            se = standard.errors, pvalues = significance, gof.names = gof.names, 
            gof = gof, gof.decimal = gof.decimal)
        return(tr)
    }


来源:https://stackoverflow.com/questions/29403051/texreg-ing-tobit-output-from-zelig-package-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!