## Create LaTex tables from R output

8 07 2009

Creating reasonable layouted LaTeX tables from R output was easier then expected. I should have googled it long ago…

install.packages("xtable")

Lets say you created a tabular output in R called “tab1″, e.g by doing:
data(CO2) tab1 <- with(CO2, table(Treatment , Type)) tab1

your text output in R would look like

 Type Treatment Quebec Mississippi nonchilled 21 21 chilled 21 21

Now you would like this or whatever table or data.frame as a nice LaTeX-table, the only thing to do is:
library(xtable) xtable(tab1)

and the output will be:

% latex table generated in R 2.9.0 by xtable 1.5-5 package % Wed Jul 08 16:20:54 2009 \begin{table}[ht] \begin{center} \begin{tabular}{rrr} \hline & Quebec & Mississippi \\ \hline nonchilled & 21 & 21 \\ chilled & 21 & 21 \\ \hline \end{tabular} \end{center} \end{table}

If you are using Sweave the usage becomes
<< echo = FALSE , results = tex >> library(xtable) data(CO2) with(CO2, xtable(table(Treatment , Type))) @
and a the result of the R run is a LaTeX document. Another post will give a hint how to paste R graphics into the same Sweave or LaTeX document… later…

The full usage of xtable() is
xtable(x, caption=NULL, label=NULL, align=NULL, digits=NULL, display=NULL)
xtable(table , caption = "My table caption")
xtable(table , label = " MyLaTeXlable")