Это в основном повторное использование этого ответа, но это самый программный способ сделать это с xtable
. Это ужасно, в основном потому, что я ненавижу, как работает аргумент xtable
add.to.row
.
Пример данных:
set.seed(230)
DF <- data.frame(a = rnorm(5), b = rnorm(5), c = rnorm(5))
#of course, we can pass this directly below; I'm just saving
# horizontal space for this answer
comm <- paste0("\\hline \n \\multicolumn{4}{l}",
"{\\scriptsize{Check out these random numbers!}} \n")
print.xtable(xtable(DF, caption = "Describe the table"),
#adjusting hline.after so that our comment appears
# "outside" the table, as defined by its border
hline.after=c(-1, 0),
#**NOTE: the first argument to add.to.row must be
# a list -- don't ask me why since it strikes me as odd**
add.to.row = list(pos = list(5),
command = comm))
Вот вывод TeX:
% latex table generated in R 3.2.4 by xtable 1.8-2 package
% Mon May 23 18:25:14 2016
\begin{table}[ht]
\centering
\begin{tabular}{rrrr}
\hline
& a & b & c \\
\hline
1 & -0.23 & 0.04 & 1.34 \\
2 & 0.10 & 0.57 & -1.62 \\
3 & 0.33 & -0.14 & 0.83 \\
4 & 0.36 & -0.75 & 0.20 \\
5 & 0.44 & 0.13 & -0.49 \\
\hline
\multicolumn{4}{l}{\scriptsize{Check out these random numbers!}}
\end{tabular}
\caption{Describe the table}
\end{table}
И результат .pdf, если я оберну его с \documentclass{article}
, \begin{document}
и \end{document}
:
Конечно, можно добавить гораздо больше наворотов, чтобы подготовить его к публикации, но это суть, и вы должны быть в пути.