从 Stargazer .tex 输出中删除 \begin{tabular}

ℕʘʘ*_*ḆḽḘ 5 latex r tabular stargazer

有没有一种简单的方法可以自动删除

\begin{tabular}{@{\extracolsep{5pt}}lc}
Run Code Online (Sandbox Code Playgroud)

\end{tabular}
Run Code Online (Sandbox Code Playgroud)

Stargazer LaTeX 输出的开头和结尾的行?

实际上,我只需要内部的 LaTeX 代码,而从 stargazer 生成的 TeX 文件中手动删除这些行完全是浪费时间......

Wer*_*ner 3

每个定义用于创建 LaTeX 输出的函数stargazer都是在(内部)包装函数中定义的.stargazer.wrap。因此,自动更新组件并不那么容易。您要么必须复制本地维护的包,要么.stargazer.wrap在每次加载包时编辑该函数。

以下是如何执行后者,遵循如何覆盖包命名空间中的不可见函数?(管理你自己的副本需要类似的东西):

  1. 加载stargazer

    > library(stargazer)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑命名空间/包.stargazer.wrap内的函数stargazer

    > fixInNamespace(".stargazer.wrap", pos="package:stargazer")
    
    Run Code Online (Sandbox Code Playgroud)
  3. 从函数中查找并删除至少第 4206-4207 行.data.frame.table.header

    在此输入图像描述

    这两行用于打印tabular标题。

  4. 查找并删除函数中至少第 3385 行.publish.table

    在此输入图像描述

    打印此行\end{tabular}(加上换行符)。