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

2013-11-27 Thread Rainer Schuermann
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|rr )
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|rr}
   \hline
Males (k)  0  1  2  3  4  5  6  7  8  9  10  11  12  Sum \\ 
  Families (n\_k) 324   104   286   670  1033  1343  1112   
829   478   18145 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}{rrr}
\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|rr}
\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@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.


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

2013-11-27 Thread Rainer Schuermann
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|rr )
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|rr}
   \hline
Males ($k$)  0  1  2  3  4  5  6  7  8  9  10  11  12  Sum \\ 
  Families ($n_k$) 324   104   286   670  1033  1343  1112   
829   478   18145 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|rr )
 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|rr}
\hline
 Males (k)  0  1  2  3  4  5  6  7  8  9  10  11  12  Sum \\ 
   Families (n\_k) 324   104   286   670  1033  1343  1112   
 829   478   18145 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}{rrr}
 \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|rr}
 \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@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.

__
R-help@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.


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

2013-11-27 Thread Michael Friendly

Thanks so much, Rainer.
Your detailed example has taught me a lot of what I need to use xtable
more productively, in particular the options for the print() method.

-Michael

On 11/27/2013 12:20 PM, Rainer Schuermann wrote:

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|rr )
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|rr}
\hline
Males ($k$)  0  1  2  3  4  5  6  7  8  9  10  11  12  Sum \\
   Families ($n_k$) 324   104   286   670  1033  1343  1112   829   478  
 18145 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|rr )
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|rr}
\hline
Males (k)  0  1  2  3  4  5  6  7  8  9  10  11  12  Sum \\
   Families (n\_k) 324   104   286   670  1033  1343  1112   829   478   
18145 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}{rrr}
\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|rr}
\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@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.





--
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 StreetWeb:   http://www.datavis.ca
Toronto, ONT  M3J 1P3 CANADA

__
R-help@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.