gpt4 book ai didi

r - 来自修正的 xtable 函数的独立 latex 表

转载 作者:行者123 更新时间:2023-12-05 01:09:30 26 4
gpt4 key购买 nike

我正在尝试创建一个自动化的 R 函数,该函数创建一个可以由外部 Latex 程序运行(无需进一步修改 Latex 代码)的 Latex 文件。我知道 KnitR 和 Sweave,但我需要更简单的东西。基本上对于可以通过 xtable 打印出来的任何对象,我想添加

%A1 在顶部

\documentclass{article}
\pagestyle{empty}
\begin{document}

%A2 结尾
\end{document}

这意味着我可以运行我的分析并(当我需要时)创建一个可以由基于 Latex 的程序操作的外部文件。我对将所有表格放入一个文档不感兴趣,但我希望它们分开(因此需要\begin{document} 和\end{document}。我一直在试验 add.to.rows(xtable 函数)但我无处可去。

例子:
data(tli)
tli.table <- xtable(tli[1:10,])
digits(tli.table)[c(2,6)] <- 0
print(tli.table,floating=FALSE)

您将如何添加 A1 和 A2,以便结果是:
\documentclass{article}
\pagestyle{empty}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{rrlllr}
\hline
& grade & sex & disadvg & ethnicty & tlimth \\
\hline
1 & 6 & M & YES & HISPANIC & 43 \\
2 & 7 & M & NO & BLACK & 88 \\
3 & 5 & F & YES & HISPANIC & 34 \\
4 & 3 & M & YES & HISPANIC & 65 \\
5 & 8 & M & YES & WHITE & 75 \\
6 & 5 & M & NO & BLACK & 74 \\
7 & 8 & F & YES & HISPANIC & 72 \\
8 & 4 & M & YES & BLACK & 79 \\
9 & 6 & M & NO & WHITE & 88 \\
10 & 7 & M & YES & HISPANIC & 87 \\
\hline
\end{tabular}
\end{table}
\end{document}

我一开始就卡住了:
bottom <- list();bottom$pos<- list()
bottom$pos[[1]] <- c(nrow(x))
bottom$command <-c("\\end{document} \n")
print(xtable(tli[1:10,]),add.to.row=bottom)

我需要\end{document} 在最后但如果我改变
bottom$pos

bottom$pos[[1]] <- c(nrow(x)+3)
我收到一个错误。我也没有包括顶部(A1-见上文)。

理想情况下,我希望代码尽可能通用,以便它可以应用于任何 xtable 输出(例如 anova、sideway 表等)。

有任何想法吗?

非常感谢

最佳答案

catprint.xtable函数都有一个 'append' 参数:

wrapLatex <- function(dat,fil, ...) {
cat(c("\\documentclass{article}\n",
"\\pagestyle{empty}\n",
"\\begin{document}\n"), file=fil)
print(dat, file=fil, append=TRUE, ...)
cat("\\end{document}\n", file=fil, append=TRUE) }
wrapLatex(tli.table, fil="~/test")

关于r - 来自修正的 xtable 函数的独立 latex 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15731238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com