【发布时间】:2017-10-24 19:09:31
【问题描述】:
问题:
需要缩小回归表以包含在 Beamer 幻灯片中,但如果不复制和粘贴原始 TeX,则无法在 RMarkdown 中缩小它们。有没有更简单的方法可以让我自动化这部分工作流程?
背景
我的回归会自动为回归表生成 .tex 文件。但是,当我尝试将文件输入到我的 Beamer 幻灯片(在 Rmarkdown 中创建)时,它们太大了,我必须手动复制、粘贴和调整它们以使其适合。下面是一个MWE
table.tex
\begin{table}[!htbp] \centering
\caption{Title}
\begin{tabular}{lcccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& \multicolumn{6}{c}{Dependent Var} \\
\hline \\[-1.8ex]
Independent Var & $-$0.031 & 0.012 & $-$0.264 & $-$0.267 & $-$0.107 & $-$1.980 \\
\hline
\hline \\[-1.8ex]
\textit{Note:} & \multicolumn{6}{l}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}
\end{table}
RMarkdown.Rmd
---
title: "Title"
output:
beamer_presentation:
slide_level: 3
keep_tex: false
---
### Test Results
\input{table.tex}
解决方法
复制/粘贴 .tex 表格并在 \begin{tabular}...\end{tabular} 周围添加 \resizebox{}{}
Workaround.Rmd
---
title: "Title"
output:
beamer_presentation:
slide_level: 3
keep_tex: false
---
### Test Results
\begin{table}[!htbp] \centering
\caption{Title}
\resizebox{0.98\textwidth}{!}{
\begin{tabular}{lcccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& \multicolumn{6}{c}{Dependent Var} \\
\hline \\[-1.8ex]
Independent Var & $-$0.031 & 0.012 & $-$0.264 & $-$0.267 & $-$0.107 & $-$1.980 \\
\hline
\hline \\[-1.8ex]
\textit{Note:} & \multicolumn{6}{l}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}
}
\end{table}
【问题讨论】:
-
在
\input{table.tex}之前添加\small和在之后添加\normalsize怎么样? -
这有帮助,但我希望能够控制尺寸,而不是希望它适当地缩小它。
-
当你运行回归时,你能否在生成乳胶标记之前缓存(或以其他方式保存为 R 可读格式)输出对象。然后将此对象加载到您的 rmarkdown-beamer 文档中,并在 beamer 文档中生成乳胶。这样,您可以在 rmarkdown 工作流程中自定义表格。例如,假设您保存了一个回归模型对象。将其加载到 rmarkdown-beamer 文档中,然后运行
kable、xtable、stargazer或其他任何内容以生成适合投影仪幻灯片大小的乳胶表。 -
我希望避免这种情况,因为我在相对较大的数据集上运行回归。对于我的一张表,回归对象是 1.1Gb,所以我宁愿只保留 .tex 输出 (1.6kb)。
-
我不确定您是如何创建回归表的,但您可能只需要缓存摘要输出。例如,如果您创建一个
lm模型(我们将模型对象称为m1)然后summary(m1)会生成一个包含系数、p 值、标准误差、R 平方等的对象。基本上,只需缓存什么您需要生成回归表。您不需要完整的模型对象。
标签: r latex r-markdown pandoc beamer