[R] latex() etc.: How to nicely format a matrix for a LaTeX document?
Marius Hofert
m_hofert at web.de
Thu Dec 30 17:50:47 CET 2010
Dear (T)eXpeRts,
I try to create a LaTeX table from an R matrix for the first time. I am not sure what the "best" approach is, I just read about latex() from Hmisc (toLatex() didn't work).
Consider the following minimal example:
library(Hmisc)
mat <- matrix(c(1,NA,3,100,10000,4), ncol = 3, byrow = TRUE)
latex(mat, file = "", booktabs = TRUE, numeric.dollar = FALSE, table.env = FALSE)
I am only interested in the part between \midrule and \bottomrule [I couldn't figure out how to remove the tabular environment]. It looks like this:
1&&3\tabularnewline
100&10000&4\tabularnewline
My questions/problems are:
(1) if there are NA's, you can see that the output is not aligned according to the &-symbols. That makes it hard to read in a LaTeX *source* file. How can I get something like:
1& &3\tabularnewline
100&10000&4\tabularnewline
(2) it would even be nicer to read if the output was like this:
1 & & 3 \tabularnewline
100 & 10000 & 4 \tabularnewline
How can I achieve this?
(3) is there another package/function to get output like this more easily? I wrote a one-liner which formats the lines separately, but it would be nice to have the columns aligned as given in (2). I believe it is most helpful to have the output in a form which is readable in a *source* file (i.e., .tex), since the headers/footers from tabular [or tabularx etc.] are often easy to put in the document.
Cheers,
Marius
More information about the R-help
mailing list