将结果从bife对象输出到Rmarkdown中的Latex?

时间:2019-06-20 03:12:21

标签: r-markdown stargazer texreg

我正在使用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")

1 个答案:

答案 0 :(得分:0)

我想我为此找到了另一种解决方案,即使可能为时已晚

基本上,首先,我进入“ texreg”软件包的存储库,并找到以下功能:

W3CIISLog | where Computer in ({Computer})

因此,在您的示例中,只需将其应用于模型并使用texreg函数,您可能会有Latex-“ like”输出

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)
}

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