从gtsummary包中的tbl_summary对象获取LaTex输出的最佳方法

时间:2020-05-20 15:51:31

标签: r gtsummary

我正在尝试准备发布文档,并且正在LaTeX中做所有事情。但是,我现在注意到gtsummary尚不支持其表的LaTeX输出。我想知道什么是将HTML表转换为LaTeX的最佳方法?

一个想法是访问https://tableconvert.com/之类的网站并从HTML转换。

两个问题:

  1. 我实际上如何从gt对象输出原始HTML代码来执行此操作? R自动格式化tbl_summary对象,并且我看不到任何用于获取原始html的帮助器函数。

  2. 对于需要在LaTex中提交的出版物,是否有更好的方法将表格转换为LaTeX?

1 个答案:

答案 0 :(得分:1)

答案在某种程度上取决于您是使用R markdown来创建整个LaTeX文档,还是要获取单个表的LaTeX代码并将其手动添加到更大的文档中。

R Markdown:{gtsummary}支持通过几种不同的引擎输出到PDF / LaTeX-gt(尽管LaTeX在技术上仍处于开发中。对于简单的表,gt和Latex可以很好地协同工作没有问题), flextable,huxtable,kable和kableExtra。 http://www.danieldsjoberg.com/gtsummary/dev/articles/rmarkdown.html为gtsummary表使用这些输出选项之一应该适合您。

如果需要将单个gtsummary表转换为LaTeX或HTML,则首先要将is转换为{gt},然后使用函数gt::as_latex()gt::as_raw_html()。这些将有助于获取您想要的原始HTML或Latex代码。

library(gtsummary)
library(tidyverse)

trial %>%
  select(age, trt) %>%
  tbl_summary() %>%
  as_gt() %>%
  gt::as_latex()

\captionsetup[table]{labelformat=empty,skip=1pt}
\begin{longtable}{lc}
\toprule
\textbf{Characteristic} & \textbf{N = 200}\textsuperscript{1} \\ 
\midrule
Age, yrs & 47 (38, 57) \\ 
Unknown & 11 \\ 
Chemotherapy Treatment &  \\ 
Drug A & 98 (49\%) \\ 
Drug B & 102 (51\%) \\ 
\bottomrule
\end{longtable}
\vspace{-5mm}
\begin{minipage}{\linewidth}
\textsuperscript{1}Statistics presented: median (IQR); n (\%) \\ 
\end{minipage}

我希望这接近您所需要/正在寻找的!祝您编码愉快!