2013-11-11 2 views
2

Я создал таблицу с использованием R и sweave в LaTeX. Sweave пример:R/Sweave/Latex - Разместить комментарий в таблице (xtable)

\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} 

Чтобы спасти меня много работы, я использую печать и xtable функции в R, чтобы создать код таблицы в LaTeX. Но теперь я хочу добавить текст между операторами \ end {tabular} и \ end {table}. Аргумент add.to.row в функции печати не помогает, поскольку инструкции помещаются только до \ end {tabular}. Как я могу решить эту проблему?

Большое спасибо за вашу помощь.

+1

Я просто отредактировать xtable объекта - сохранить его в переменную и вставить нужный текст между табличными и табличными средами. –

ответ

0

способ сделать это состоит в использовании xtable, удалите среду таблицы плавающих = 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 

Table output

Смежные вопросы