Eliminar los nombres de fila de data.frame cuando se usa xtable
Frecuentes
Visto 45,050 equipos
119
Bien, admito que este es un poco tenso (léase: "estúpido"), y supongo que también es bastante fácil. Estoy escribiendo un informe y quiero usar xtable
paquete para la generación de tablas LaTeX (tenga en cuenta que memisc
paquete hace el trabajo, pero digo que quiero hacer esto únicamente con xtable
).
Usemos estándar mtcars
conjunto de datos y reshape
paquete:
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
Si envuelvo esto dentro xtable
, Obtendré los nombres de las filas (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}
Ahora, ¿hay alguna posibilidad de que pueda evitar esto (en una sola línea, si es posible)?
1 Respuestas
173
Utilice la herramienta include.rownames=FALSE
en el capítulo respecto a la print
método. Ver ?print.xtable
:
R> print(xtable(res), include.rownames=FALSE)
% latex table generated in R 2.12.2 by xtable 1.5-6 package
% Fri Mar 25 10:06:08 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrrrr}
\hline
am & cyl & mpg & hp & wt \\
\hline
0.00 & 4.00 & 22.90 & 84.67 & 2.94 \\
0.00 & 6.00 & 19.12 & 115.25 & 3.39 \\
0.00 & 8.00 & 15.05 & 194.17 & 4.10 \\
1.00 & 4.00 & 28.07 & 81.88 & 2.04 \\
1.00 & 6.00 & 20.57 & 131.67 & 2.75 \\
1.00 & 8.00 & 15.40 & 299.50 & 3.37 \\
\hline
\end{tabular}
\end{center}
\end{table}
respondido 25 mar '11, 09:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas r latex report or haz tu propia pregunta.
Y ese defecto
matrix
adata.frame
la conversión es realmente molesta. Esta es la única solución (alternativa) para preservarrownames
: vpihur.com/blog/?p=131 Entonces tengo que modificar mi función: esencia.github.com/887249 para establecerrownames
como primera columna. Y luego rogarle a LaTeX que no alinee celdas por su cuenta ... ¡maldita sea! - aL3xa