1

我正在使用 R 中的 bife 包估计一个固定效应概率模型。我试图将输出提取到我可以与 stargazer 或 texreg 一起使用的东西中,这样我就可以使用 Rmarkdown 将它们输出到论文中来创建 LaTeX 对象. 我知道我可以手动提取系数和标准误差等,但我想知道是否没有更有效的方法可以将此对象强制转换为适用于任一包的对象。

这是一个可重现的示例:

install.packages("bife")
library(bife)
data("iris")
iris$big <- ifelse(iris$Sepal.Length > median(iris$Sepal.Length),1,0)
output <- bife(big ~ Sepal.Width + Petal.Length | Species, data=iris, "logit")
4

1 回答 1

0

我想我找到了一个替代解决方案,即使可能为时已晚

基本上,首先,我在包“texreg”的存储库中找到了这个函数:

extract.bife <- function(model,
                         include.loglik = TRUE,
                         include.deviance = TRUE,
                         include.nobs = TRUE,
                         ...) {
  s <- summary(model)
  coefficient.names <- rownames(s$cm)
  co <- s$cm[, 1]
  se <- s$cm[, 2]
  pval <- s$cm[, 4]

  gof <- numeric()
  gof.names <- character()
  gof.decimal <- logical()
  if (include.loglik == TRUE) {
    lik <- logLik(model)
    gof <- c(gof, lik)
    gof.names <- c(gof.names, "Log Likelihood")
    gof.decimal <- c(gof.decimal, TRUE)
  }
  if (include.deviance == TRUE) {
    gof <- c(gof, deviance(model))
    gof.names <- c(gof.names, "Deviance")
    gof.decimal <- c(gof.decimal, TRUE)
  }
  if (include.nobs == TRUE) {
    n <- s$nobs["nobs"]
    gof <- c(gof, n)
    gof.names <- c(gof.names, "Num. obs.")
    gof.decimal <- c(gof.decimal, FALSE)
  }

  tr <- createTexreg(
    coef.names = coefficient.names,
    coef = co,
    se = se,
    pvalues = pval,
    gof.names = gof.names,
    gof = gof,
    gof.decimal = gof.decimal
  )
  return(tr)
}

因此,对于您的示例,只需将其应用于您的模型并使用函数 texreg,您可能会得到一个 Latex-“like”的输出

tr <- extract.bife(output)
texreg(tr)

我希望它会有所帮助!最好的

于 2020-05-12T18:01:09.653 回答