Sunday, August 18, 2013

Generating LaTeX Tables in R

Generating LATEXTables in R

jbytecode

August 18, 2013

Many R users prepare reports, documents or research papers using LATEXtype-setting system. Since typing tabular data structures in LATEXby hand consumes too much construction time, some packages were developed for automatic creation or conversion of R datasets. In this short entry, we show the usage and output of xtable function in xtable package. First install the package if it is not already installed:

> install.packages(”xtable”)

After installation, the package is loaded once in the current session:

> require(”xtable”)

Now, suppose that we have a data frame and we want to export it as a LATEXtable. Let’s create a random dataset with three variables, x,y and z.

> x<-round(runif(10,0,100)) 
> y<-round(runif(10,0,100)) 
> z<-round(runif(10,0,100)) 
> data <- as.data.frame ( cbind(x,y,z) ) 
> data 
    x   y  z 
1  26  86 44 
2  81  13 22 
3  39  27 57 
4  32  57 56 
5  50  15 31 
6  34 100 98 
7  54  46 24 
8  42  55 42 
9  62  91 77 
10  5  73 25

Calling the function xtable simply on the data that we have just created produces some output:

> xtable(data)
% latex table generated in R 2.15.3 by xtable 1.7-1 package  
% Sun Aug 18 23:40:23 2013  
\begin{table}[ht]  
\centering  
\begin{tabular}{rrrr}  
  \hline  
 & x & y & z \\  
  \hline  
1 & 26.00 & 86.00 & 44.00 \\  
  2 & 81.00 & 13.00 & 22.00 \\  
  3 & 39.00 & 27.00 & 57.00 \\  
  4 & 32.00 & 57.00 & 56.00 \\  
  5 & 50.00 & 15.00 & 31.00 \\  
  6 & 34.00 & 100.00 & 98.00 \\  
  7 & 54.00 & 46.00 & 24.00 \\  
  8 & 42.00 & 55.00 & 42.00 \\  
  9 & 62.00 & 91.00 & 77.00 \\  
  10 & 5.00 & 73.00 & 25.00 \\  
   \hline  
\end{tabular}  
\end{table}

The generated output can easly be integrated with an LATEXfile. This table is shown as






x y z




126.00 86.0044.00
281.00 13.0022.00
339.00 27.0057.00
432.00 57.0056.00
550.00 15.0031.00
634.00100.0098.00
754.00 46.0024.00
842.00 55.0042.00
962.00 91.0077.00
10 5.00 73.0025.00





This is an example of xtable function call with default parameters. In the next example, we put a caption.

> xtable(data,caption=”Our random dataset”)






x y z




126.00 86.0044.00
281.00 13.0022.00
339.00 27.0057.00
432.00 57.0056.00
550.00 15.0031.00
634.00100.0098.00
754.00 46.0024.00
842.00 55.0042.00
962.00 91.0077.00
10 5.00 73.0025.00





Table 1: Our random dataset

Let’s put a label on it:

> xtable(data,caption=”Our random dataset”, 
                          label=”This is a label”)






x y z




126.00 86.0044.00
281.00 13.0022.00
339.00 27.0057.00
432.00 57.0056.00
550.00 15.0031.00
634.00100.0098.00
754.00 46.0024.00
842.00 55.0042.00
962.00 91.0077.00
10 5.00 73.0025.00





Table 2: Our random dataset

And this function call shows the numbers with three fractional digits.

> xtable(data,caption=”Our random dataset”, 
                label=”This is a label”, 
                digits=3)






x y z




126.000 86.00044.000
281.000 13.00022.000
339.000 27.00057.000
432.000 57.00056.000
550.000 15.00031.000
634.000100.00098.000
754.000 46.00024.000
842.000 55.00042.000
962.000 91.00077.000
10 5.000 73.00025.000





Table 3: Our random dataset

No comments:

Post a Comment

Thanks