Quantcast
Channel: Active questions tagged kable - Stack Overflow
Viewing all articles
Browse latest Browse all 105

Was there a `datasummary::modelsummary` update that made it glitchy with `kableExtra`?

$
0
0

I am using the following code to create a latex table using modelsummary and kableExtra. The code used to work but it seems that either modelsummary or kableExtra made some changes that made it harder to use both. Is there a way that editing the following table would result in a latex table being saved? I already tried change output = "kableExtra" and the latex table was empty.

Here is the code I am using

mod_es = list("Poor Health"       = emfx(models$`Poor Health`, type = "event", collapse = FALSE),"School Lunch"      = emfx(models$`School Lunch`, type = "event", collapse = FALSE),"Log School Lunch"  = emfx(models$`Log School Lunch`, type = "event", collapse = FALSE),"SNAP"              = emfx(models$`SNAP`, type = "event", collapse = FALSE),"Log SNAP"          = emfx(models$`Log SNAP`, type = "event", collapse = FALSE)    )# Quick renaming function to replace ".Dtreat" with something more meaningfulrename_fn = function(old_names) {  new_names = gsub(".Dtreat", "Years post treatment =", old_names)  setNames(new_names, old_names)}f1 <- function(x) format(round(x, 3), big.mark=".")f2 <- function(x) format(round(x, 0), big.mark=",")gm <- list(  list(raw = "nobs", clean = "Observations", fmt = f2),  list(raw = "FE..first_treat", clean = "Cohort FE", fmt = 0),  list(raw = "FE..year", clean = "Year FE", fmt = 0),  list(raw = "std.error.type", clean = "Standard Errors", fmt = 0))options("modelsummary_format_numeric_latex" = "plain")regression_tab  <- modelsummary(  mod_es,   fmt         = f1,   shape       = term:event:statistic ~ model,  coef_rename = rename_fn,  stars       = c('***' = 0.01, '**' = 0.05, '*' = 0.1),  gof_map     = gm,  escape      = F,  output = "latex",  title       = "Extended Two Way Fixed Effects \\label{tab:etwfe}") |>  kable_styling(latex_options = c("scale_down", "HOLD_position")) |>   footnote(number = c("\\\\footnotesize{Each column is the results of the extended two-way fixed effects estimation.                       Standard errors are clustered on the county level.}","\\\\footnotesize{Data source is the 1994-2019 Current Population Survey.}"),           footnote_as_chunk = F, title_format = c("italic"),           escape = F, threeparttable = T, fixed_small_size = T)regression_tab %>%  save_kable(file.path(tables_wd,"tab01-etwfe.tex"))

I tried the code above that I ran many times before and was expecting the table to be saved in a script called tab01-etwfe.tex.

Doing the following edit produces a mutant latex document with html table

regression_tab  <- modelsummary(  mod_es,   fmt         = f1,   shape       = term:event:statistic ~ model,  coef_rename = rename_fn,  stars       = c('***' = 0.01, '**' = 0.05, '*' = 0.1),  gof_map     = gm,  escape      = F,  title       = "Extended Two Way Fixed Effects \\label{tab:etwfe}") |>  kable(format = "latex", booktabs = T) |>   kable_styling(latex_options = c("scale_down", "HOLD_position")) |>   footnote(number = c("\\\\footnotesize{Each column is the results of the extended two-way fixed effects estimation.                       Standard errors are clustered on the county level.}","\\\\footnotesize{The samples include first, second, third, and fourth+ generation Hispanic children ages 17 and below who live in intact families.                       A first-generation Hispanic child is one that is born in a Spanish-speaking country.                       A second-generation Hispanic child is one that is born in the United States with at least one parent born in a Spanish-speaking country.                      Third-generation Hispanic immigrant children are native-born with native-born parents and at least one grandparent is born in a Spanish-speaking country.                      country.                      Fourth-generation+ are native born with native-born parents, all grandparents are born in the United States, and one parent self-reported Hispanic identity.}","\\\\footnotesize{Data source is the 1994-2019 Current Population Survey.}"),           footnote_as_chunk = F, title_format = c("italic"),           escape = F, threeparttable = T, fixed_small_size = T)

Output Table:

\begin{table}[H]\centering\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{threeparttable}\begin{tabular}{l}\toprulex\\\midrule<table style="NAborder-bottom: 0; width: auto !important; margin-left: auto; margin-right: auto;" class="table"><caption>Extended Two Way Fixed Effects \textbackslash{}label\{tab:etwfe\}</caption><thead><tr><th style="text-align:left;">   </th><th style="text-align:center;"> Poor Health </th><th style="text-align:center;"> School Lunch </th><th style="text-align:center;"> Log School Lunch </th><th style="text-align:center;"> SNAP </th><th style="text-align:center;"> Log SNAP </th></tr></thead><tbody><tr><td style="text-align:left;"> Years post treatment = 0 </td><td style="text-align:center;"> 0.000 </td><td style="text-align:center;"> 0.001 </td><td style="text-align:center;"> 0.006 </td><td style="text-align:center;"> 0.001 </td><td style="text-align:center;"> 0.001 </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.004) </td><td style="text-align:center;"> (0.028) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.024) </td></tr><tr><td style="text-align:left;"> Years post treatment = 1 </td><td style="text-align:center;"> 0.000* </td><td style="text-align:center;"> 0.006 </td><td style="text-align:center;"> 0.039 </td><td style="text-align:center;"> 0.004 </td><td style="text-align:center;"> 0.024 </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.004) </td><td style="text-align:center;"> (0.026) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.025) </td></tr><tr><td style="text-align:left;"> Years post treatment = 2 </td><td style="text-align:center;"> 0.001* </td><td style="text-align:center;"> 0.009 </td><td style="text-align:center;"> 0.058 </td><td style="text-align:center;"> 0.006 </td><td style="text-align:center;"> 0.037 </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.007) </td><td style="text-align:center;"> (0.057) </td><td style="text-align:center;"> (0.004) </td><td style="text-align:center;"> (0.035) </td></tr><tr><td style="text-align:left;"> Years post treatment = 3 </td><td style="text-align:center;"> 0.001** </td><td style="text-align:center;"> 0.031*** </td><td style="text-align:center;"> 0.200*** </td><td style="text-align:center;"> 0.020*** </td><td style="text-align:center;"> 0.156*** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.009) </td><td style="text-align:center;"> (0.071) </td><td style="text-align:center;"> (0.006) </td><td style="text-align:center;"> (0.047) </td></tr><tr><td style="text-align:left;"> Years post treatment = 4 </td><td style="text-align:center;"> 0.000** </td><td style="text-align:center;"> 0.026** </td><td style="text-align:center;"> 0.193*** </td><td style="text-align:center;"> 0.014*** </td><td style="text-align:center;"> 0.106** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.011) </td><td style="text-align:center;"> (0.066) </td><td style="text-align:center;"> (0.005) </td><td style="text-align:center;"> (0.042) </td></tr><tr><td style="text-align:left;"> Years post treatment = 5 </td><td style="text-align:center;"> 0.000** </td><td style="text-align:center;"> 0.027** </td><td style="text-align:center;"> 0.193*** </td><td style="text-align:center;"> 0.015** </td><td style="text-align:center;"> 0.103** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.012) </td><td style="text-align:center;"> (0.074) </td><td style="text-align:center;"> (0.006) </td><td style="text-align:center;"> (0.050) </td></tr><tr><td style="text-align:left;"> Years post treatment = 6 </td><td style="text-align:center;"> 0.001*** </td><td style="text-align:center;"> 0.031*** </td><td style="text-align:center;"> 0.229*** </td><td style="text-align:center;"> 0.024*** </td><td style="text-align:center;"> 0.196*** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.025) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.021) </td></tr><tr><td style="text-align:left;"> Years post treatment = 7 </td><td style="text-align:center;"> 0.001*** </td><td style="text-align:center;"> 0.006* </td><td style="text-align:center;"> 0.123*** </td><td style="text-align:center;"> 0.022*** </td><td style="text-align:center;"> 0.177*** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.025) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.022) </td></tr><tr><td style="text-align:left;"> Years post treatment = 8 </td><td style="text-align:center;"> 0.000 </td><td style="text-align:center;"> 0.012*** </td><td style="text-align:center;"> 0.151*** </td><td style="text-align:center;"> 0.024*** </td><td style="text-align:center;"> 0.190*** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.004) </td><td style="text-align:center;"> (0.027) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.023) </td></tr><tr><td style="text-align:left;"> Years post treatment = 9 </td><td style="text-align:center;"> 0.000* </td><td style="text-align:center;"> 0.040*** </td><td style="text-align:center;"> 0.393*** </td><td style="text-align:center;"> 0.019*** </td><td style="text-align:center;"> 0.148*** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.004) </td><td style="text-align:center;"> (0.030) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.023) </td></tr><tr><td style="text-align:left;"> Years post treatment = 10 </td><td style="text-align:center;"> 0.000 </td><td style="text-align:center;"> 0.054*** </td><td style="text-align:center;"> 0.595*** </td><td style="text-align:center;"> 0.016*** </td><td style="text-align:center;"> 0.128*** </td></tr><tr><td style="text-align:left;">  </td><td style="text-align:center;"> (0) </td><td style="text-align:center;"> (0.004) </td><td style="text-align:center;"> (0.041) </td><td style="text-align:center;"> (0.003) </td><td style="text-align:center;"> (0.022) </td></tr><tr><td style="text-align:left;"> Years post treatment = 11 </td><td style="text-align:center;"> 0.001*** </td><td style="text-align:center;"> 0.124*** </td><td style="text-align:center;"> 1.049*** </td><td style="text-align:center;"> 0.065*** </td><td style="text-align:center;"> 0.534*** </td></tr><tr><td style="text-align:left;box-shadow: 0px 1.5px">  </td><td style="text-align:center;box-shadow: 0px 1.5px"> (0) </td><td style="text-align:center;box-shadow: 0px 1.5px"> (0.008) </td><td style="text-align:center;box-shadow: 0px 1.5px"> (0.098) </td><td style="text-align:center;box-shadow: 0px 1.5px"> (0.014) </td><td style="text-align:center;box-shadow: 0px 1.5px"> (0.117) </td></tr><tr><td style="text-align:left;"> Observations </td><td style="text-align:center;"> 976,648 </td><td style="text-align:center;"> 976,648 </td><td style="text-align:center;"> 976,648 </td><td style="text-align:center;"> 976,648 </td><td style="text-align:center;"> 976,648 </td></tr><tr><td style="text-align:left;"> Cohort FE </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td></tr><tr><td style="text-align:left;"> Year FE </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td><td style="text-align:center;"> X </td></tr></tbody><tfoot><tr><td style="padding: 0; " colspan="100\%"><sup></sup> * p </td></tr></tfoot></table>\\\bottomrule\end{tabular}\begin{tablenotes}\small\item[1] \footnotesize{Each column is the results of the extended two-way fixed effects estimation.                       Standard errors are clustered on the county level.}\item[2] \footnotesize{The samples include first, second, third, and fourth+ generation Hispanic children ages 17 and below who live in intact families.                       A first-generation Hispanic child is one that is born in a Spanish-speaking country.                       A second-generation Hispanic child is one that is born in the United States with at least one parent born in a Spanish-speaking country.                      Third-generation Hispanic immigrant children are native-born with native-born parents and at least one grandparent is born in a Spanish-speaking country.                      country.                      Fourth-generation+ are native born with native-born parents, all grandparents are born in the United States, and one parent self-reported Hispanic identity.}\item[3] \footnotesize{Data source is the 1994-2019 Current Population Survey.}\end{tablenotes}\end{threeparttable}}\end{table}

Viewing all articles
Browse latest Browse all 105

Trending Articles