模型摘要意外的乳胶输出

modelsummary unexpected latex output

使用以下代码,我生成了下图中的 laTex table。您可能会注意到输出有一些问题。

  1. 缺少标题
  2. P-values 放错地方了
  3. 脚注未对齐

非常感谢任何帮助!


library(tidyverse)
library(modelsummary)
library(gt)


data <- as.data.frame(ChickWeight)
mod_control <- lm(weight ~ Time , data = data)
mod_treat <- lm(weight ~ Time + Diet, data = data)


mod_one_list <- list(mod_control, mod_treat)

# coefmap
cm <- c("(Intercept)"="Konstant",
        "Time" = "Tid",
        "Num.Obs." = "n")

# gof_map 
gm <- list(list(raw = "nobs", clean = "N", fmt = 0))

# title
tit <- "En beskrivning här"


# produce table


modelsummary(mod_one_list, 
                          output = "gt",
                          stars = T,
                          title = tit,
                          coef_map = cm,
                          gof_map = gm,
                          vcov = "HC1") %>%  
  tab_spanner(label = '(1)', columns = 2) %>%
  tab_spanner(label = "(2)", columns = 3) %>% 
  tab_footnote("För standardfel använder vi HC1",
               locations = cells_body(rows = 1, columns = 2)) %>%
  as_latex() %>%
  cat()

这是 gt 包的问题。添加脚注和 来源注释(这是 modelsummary 用来报告重要性的内容 stars), gt 将两种类型的笔记放在不同的迷你页面中。这个 在 LaTeX 中打破对齐。

您可以通过检查这个最小示例的代码来了解这一点:

library(gt)

dat <- mtcars[1:4, 1:4]

gt(dat) |> 
  tab_source_note(source_note = "source note") |> 
  tab_footnote("footnote", locations = cells_body(rows = 1, columns = 2)) |> 
  as_latex() |> 
  cat()
## \captionsetup[table]{labelformat=empty,skip=1pt}
## \begin{longtable}{rrrr}
## \toprule
## mpg & cyl & disp & hp \ 
## \midrule
## 21.0 & 6\textsuperscript{1} & 160 & 110 \ 
## 21.0 & 6 & 160 & 110 \ 
## 22.8 & 4 & 108 & 93 \ 
## 21.4 & 6 & 258 & 110 \ 
##  \bottomrule
## \end{longtable}
## \vspace{-5mm}
## \begin{minipage}{\linewidth}
## \textsuperscript{1}footnote \ 
## \end{minipage}
## \begin{minipage}{\linewidth}
## source note\ 
## \end{minipage}

我不确定 gt 维护者是否会认为这是一个“错误”,但是 无论如何,在他们的存储库中报告它可能是值得的: https://github.com/rstudio/gt/issues

就其价值而言,我认为默认的 LaTeX 输出与 modelsummary(model, output="latex") 通常效果更好,因为它 使用 kableExtra,这似乎更优先考虑 LaTeX。