[R] xtable: custom row.names, move caption to top

Michael Friendly friendly at yorku.ca
Wed Nov 27 15:24:22 CET 2013


With xtable, I'm producing one-way tables from table objects in 
horizontal form as shown below.
I'd like to change the labels used for the rows and move the caption to 
the top of the table,
as is typically standard for tables.  I can hand-edit, but would prefer 
to do it in code.

data(Saxony, package="vcd")
library(xtable)
saxtab <- xtable(t(addmargins(Saxony)), digits=0,
     caption="Number of male children in 6115 Saxony families of size 12")

print(saxtab)
 > print(saxtab)
% latex table generated in R 3.0.1 by xtable 1.7-1 package
% Wed Nov 27 09:12:16 2013
\begin{table}[ht]
\centering
\begin{tabular}{rrrrrrrrrrrrrrr}
   \hline
  & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & Sum \\
   \hline
1 & 3 & 24 & 104 & 286 & 670 & 1033 & 1343 & 1112 & 829 & 478 & 181 & 45 
& 7 & 6115 \\
    \hline
\end{tabular}
\caption{Number of male children in 6115 Saxony families of size 12}
\end{table}
 >

The desired form looks like this, with row.names = c("Males ($k$)", 
"Families ($n_k$)")

% latex table generated in R 3.0.1 by xtable 1.7-1 package
% Tue Nov 26 14:56:02 2013
\begin{table}[ht]
\caption{Number of male children in 6115 Saxony families of size 12} 
\label{tab:saxtab}
\centering
\begin{tabular}{l|rrrrrrrrrrrrrr}
   \hline
Males ($k$) & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & Sum \\
   \hline
Families ($n_k$) & 3 & 24 & 104 & 286 & 670 & 1033 & 1343 & 1112 & 829 & 
478 & 181 & 45 & 7 & 6115 \\
    \hline
\end{tabular}
\end{table}

-- 
Michael Friendly     Email: friendly AT yorku DOT ca
Professor, Psychology Dept. & Chair, Quantitative Methods
York University      Voice: 416 736-2100 x66249 Fax: 416 736-5814
4700 Keele Street    Web:   http://www.datavis.ca
Toronto, ONT  M3J 1P3 CANADA



More information about the R-help mailing list