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

remove \begin{tabular} from Stargazer .tex output

有没有简单的方法自动删除

\begin{tabular}{@{\extracolsep{5pt}}lc}

\end{tabular}

Stargazer LaTeX 输出的开始和结束行?

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

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

按照 How do I override a non-visible function in the package namespace? 中的指南,这是后者的操作方法(管理您自己的副本需要类似的东西):

  1. 加载stargazer:

    > library(stargazer)
    
  2. 编辑stargazer里面的.stargazer.wrap函数 namespace/package:

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

    这两行是用来打印tabularheader.

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

    这一行打印 \end{tabular}(加一个换行符)。

遇到同样的问题,在用 stargazer:

创建了 table 之后,我最终只是在我的 R 代码中添加了一些行
filename <- paste0("./my/path/", dplyr::last(list.files("./my/path/"))) # always loads the last file
lines <- readLines(filename) # read file
lines[1:4] <- ""           # I wanted to replace the first four lines
lines[length(lines)] <- "" # as well as the last line

希望对您有所帮助。