R data.frame with stacked specified titles for latex output with xtable
- by hhh
> w<-data.frame(c(0,0,1,1.3,2.1), c(0,0.6,0.9,1.6091,1.6299), c(258,141,206.4,125.8,140.5), c(162,162.7,162.4,162,162))
> colnames(w) <- c('Worst Cum', 'Best Cum', 'Worst Points', 'Best Points' )
Wrong (the code)
Worst Cum Best Cum Worst Points Best Points
1 0.0 0.0000 258.0 162.0
2 0.0 0.6000 141.0 162.7
3 1.0 0.9000 206.4 162.4
4 1.3 1.6091 125.8 162.0
5 2.1 1.6299 140.5 162.0
Goal: how?
CUM Points
Worst Best Worst Best
1 0.0 0.0000 258.0 162.0
2 0.0 0.6000 141.0 162.7
3 1.0 0.9000 206.4 162.4
4 1.3 1.6091 125.8 162.0
5 2.1 1.6299 140.5 162.0
Trial 1: fail with many data.frames
> a<-data.frame(c(0,0,1,1.3,2.1), c(0,0.6,0.9,1.6091,1.6299))
> b<-data.frame(c(258,141,206.4,125.8,140.5), c(162,162.7,162.4,162,162))
> c<-data.frame(cbind(a,b))
> colnames(c) <- c('Cum', 'Points')
> colnames(a) <- c('Worst', 'Best')
> colnames(b) <- c('Worst', 'Best')
and
> xtable(c)
% latex table generated in R 2.13.1 by xtable 1.6-0 package
% Thu Nov 24 03:43:34 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrrrr}
\hline
& Cum & Points & NA & NA \\
\hline
1 & 0.00 & 0.00 & 258.00 & 162.00 \\
2 & 0.00 & 0.60 & 141.00 & 162.70 \\
3 & 1.00 & 0.90 & 206.40 & 162.40 \\
4 & 1.30 & 1.61 & 125.80 & 162.00 \\
5 & 2.10 & 1.63 & 140.50 & 162.00 \\
\hline
\end{tabular}
\end{center}
\end{table}
> xtable(a)
% latex table generated in R 2.13.1 by xtable 1.6-0 package
% Thu Nov 24 03:45:06 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
\hline
& Worst & Best \\
\hline
1 & 0.00 & 0.00 \\
2 & 0.00 & 0.60 \\
3 & 1.00 & 0.90 \\
4 & 1.30 & 1.61 \\
5 & 2.10 & 1.63 \\
\hline
\end{tabular}
\end{center}
\end{table}
It is wrong because it replaces the inner headers with higher-level header nb "NA" vals.