[R] xtable: custom row.names, move caption to top
Rainer Schuermann
Rainer.Schuermann at gmx.net
Wed Nov 27 18:20:00 CET 2013
UPDATE:
Now including the LaTeX math formatting
saxtab <- t( as.data.frame( addmargins( Saxony ) ) )
rownames( saxtab ) <- c( "Males ($k$)", "Families ($n_k$)" )
saxtab <- xtable( saxtab, digits = 0,
caption = "Number of male children in 6115 Saxony families of size 12",
align = "l|rrrrrrrrrrrrrr" )
print( saxtab, caption.placement = "top", include.colnames = FALSE,
hline.after = c( NULL, 0, nrow( saxtab ) ),
sanitize.text.function = function(x) { x } )
% latex table generated in R 3.0.2 by xtable 1.7-1 package
% Wed Nov 27 18:16:47 2013
\begin{table}[ht]
\centering
\caption{Number of male children in 6115 Saxony families of size 12}
\begin{tabular}{l|rrrrrrrrrrrrrr}
\hline
Males ($k$) & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & Sum \\
Families ($n_k$) & 3 & 24 & 104 & 286 & 670 & 1033 & 1343 & 1112 & 829 & 478 & 181 & 45 & 7 & 6115 \\
\hline
\end{tabular}
\end{table}
On Wednesday 27 November 2013 17:43:30 Rainer Schuermann wrote:
> You get the cation to the top of the table with
> print( saxtab, caption.placement = "top" )
>
> Formatting the table the way you want can be done like this - I did not manage to carry the LaTeX math formatting for the row names over ($k$ and $n_k$)but the rest should be very much what you want:
>
> saxtab <- t( as.data.frame( addmargins( Saxony ) ) )
> rownames( saxtab ) <- c( "Males (k)", "Families (n_k)" )
> saxtab <- xtable( saxtab, digits = 0,
> caption = "Number of male children in 6115 Saxony families of size 12",
> align = "l|rrrrrrrrrrrrrr" )
> print( saxtab, caption.placement = "top", include.colnames = FALSE,
> hline.after = c( NULL, 0, nrow( saxtab ) ) )
>
>
> % latex table generated in R 3.0.2 by xtable 1.7-1 package
> % Wed Nov 27 17:41:17 2013
> \begin{table}[ht]
> \centering
> \caption{Number of male children in 6115 Saxony families of size 12}
> \begin{tabular}{l|rrrrrrrrrrrrrr}
> \hline
> Males (k) & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & Sum \\
> Families (n\_k) & 3 & 24 & 104 & 286 & 670 & 1033 & 1343 & 1112 & 829 & 478 & 181 & 45 & 7 & 6115 \\
> \hline
> \end{tabular}
> \end{table}
>
>
>
>
> On Wednesday 27 November 2013 09:24:22 Michael Friendly wrote:
> > 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}
> >
> >
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list