我在LaTeX中使用R和sweave创建了一个表。一个特殊的例子:
\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
<<label=tab1, echo=FALSE, results=tex>>=
library(xtable)
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)
mData <- data.frame(employee, salary)
print(xtable(mData, caption = "Salary", align="ccc"), caption.placement="top", hline.after = c(c(-1, 0), nrow(mData)), include.rownames=FALSE)
@
\end{document}
表的基本LaTeX结构是
\begin{table}
\begin{tabular}{cc}
...
\end{tabular}
\end{table}
为了节省很多工作,我使用R中的print和xtable函数在LaTeX中创建表代码。但现在我想在\ end {tabular}和\ end {table}语句之间添加一些文本。 print函数中的add.to.row参数没有帮助,因为语句只放在\ end {tabular}之前。我该如何解决这个问题?
非常感谢您的帮助。
答案 0 :(得分:0)
执行此操作的方法是使用xtable,删除表环境 floating = FALSE 并打包threeparttable
\documentclass{article}
\usepackage[para,online,flushleft]{threeparttable}
\begin{document}
\SweaveOpts{concordance=TRUE}
<<label=tab1, echo=FALSE, results=tex>>=
library(xtable)
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)
mData <- data.frame(employee, salary)
options(xtable.comment = FALSE)
xt<-xtable(mData, caption = "Salary", align="ccc")
print(xt,floating = FALSE,
caption.placement="top",
hline.after = c(c(-1, 0), nrow(mData)),
include.rownames=FALSE,
file="test.tex"
)
@
\begin{table}[h]
\caption{A table with notes in the end}
\begin{center}
\begin{threeparttable}
% INPUT YOUR TEX HERE :
\input{test.tex}
\begin{tablenotes}
\item[1] aaaa; \item[2] bbbb
\end{tablenotes}
\end{threeparttable}
\end{center}
\label{table:tablewithnotes}
\end{table}
\end{document}`enter code here