0 votes
1 view
in R Programming by (5.3k points)

OK, I admit this one is a bit uptight (read: "stupid"), and I assume it's quite easy too. I'm writing a report and I want to use xtable package for LaTeX table generation (note that memisc package does the job, but say I want to do this solely with xtable).

Let's use standard mtcars dataset and reshape package:

mdtf <- melt(mtcars, id.vars = c("am", "cyl"), measure.vars = c("mpg", "hp", "wt"))

( res <- cast(mdtf, am + cyl ~ variable, mean) )

  am cyl      mpg        hp       wt

1  0   4 22.90000  84.66667 2.935000

2  0   6 19.12500 115.25000 3.388750

3  0   8 15.05000 194.16667 4.104083

4  1   4 28.07500  81.87500 2.042250

5  1   6 20.56667 131.66667 2.755000

6  1   8 15.40000 299.50000 3.370000

If I wrap this inside xtable, I'll get row names (1..6):

xtable(res)

% latex table generated in R 2.13.0 by xtable 1.5-6 package

% Fri Mar 25 09:40:12 2011

\begin{table}[ht]

\begin{center}

\begin{tabular}{rrrrrr}

  \hline

 & am & cyl & mpg & hp & wt \\ 

  \hline

1 & 0.00 & 4.00 & 22.90 & 84.67 & 2.94 \\ 

  2 & 0.00 & 6.00 & 19.12 & 115.25 & 3.39 \\ 

  3 & 0.00 & 8.00 & 15.05 & 194.17 & 4.10 \\ 

  4 & 1.00 & 4.00 & 28.07 & 81.88 & 2.04 \\ 

  5 & 1.00 & 6.00 & 20.57 & 131.67 & 2.75 \\ 

  6 & 1.00 & 8.00 & 15.40 & 299.50 & 3.37 \\ 

   \hline

\end{tabular}

\end{center}

\end{table}

Now, is there any chance that I can avoid this (in one-liner, if possible)?

1 Answer

0 votes
by (25.3k points)

To exclude row names in an xtable object, set the argument include.rownames to FALSE in the print method as follows:

print(xtable(res), include.rownames=FALSE)

Output:

% latex table generated in R 3.6.0 by xtable 1.8-4 package

% Fri Jul 19 14:57:23 2019

\begin{table}[ht]

\centering

\begin{tabular}{rlrrr}

  \hline

am & cyl & mpg & hp & wt \\ 

  \hline

0.00 & 4 & 22.90 & 84.67 & 2.94 \\ 

  0.00 & 6 & 19.12 & 115.25 & 3.39 \\ 

  0.00 & 8 & 15.05 & 194.17 & 4.10 \\ 

  1.00 & 4 & 28.07 & 81.88 & 2.04 \\ 

  1.00 & 6 & 20.57 & 131.67 & 2.75 \\ 

  1.00 & 8 & 15.40 & 299.50 & 3.37 \\ 

   \hline

\end{tabular}

\end{table}

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...