For writing papers, it has cut the time it takes to produce and manage a table by a factor of 3 or 4.
Here's some example code
## Install and load install.packages("xtable") library(xtable) ## Get 10 random rows from the Iris dataset data(iris) set.seed(12345) theseRows = sample(1:nrow(iris), 10) theseRows = sort(theseRows) dat = iris[theseRows,] ### Make a LaTeX table of the data and print to screen xtable(dat)
...and you have a basic table. From there you can make edits to the table in LaTeX, but I recommend doing more formatting with xtable first. You specify some parameters in the call to xtable().
### Print the LaTeX table code with more precision and a caption xtable(dat, digits=4, caption="Ten lines from Iris")If you store the xtable object as a variable rather than printing it out right away, you can change or retrieve xtable parameters.
### Make a LaTeX table of the data and save as "xt" xt = xtable(dat, digits=4, caption="Ten lines from Iris") ## Check the default column alignments align(xt) ## Change the alignments and add a vertical break after the 3rd column align(xt) = "clr|clr" ## Change the caption caption(xt) = "Dinner menu for goats"With a stored xtable object, you can specific a wider variety of parameters with print(). Note that the row names are considered to be the first column, so the LaTeX code that comes out of print(xt, ... ) will have lr|clr in its alignment specification, not clr|clr
For more details, see the xtable reference manual on CRAN.