Hapus nama baris data.frame saat menggunakan xtable


111

Oke, saya akui yang ini agak tegang (baca: "bodoh"), dan saya anggap itu cukup mudah juga. Saya sedang menulis laporan dan saya ingin menggunakan xtablepaket untuk pembuatan tabel LaTeX (perhatikan bahwa memiscpaket melakukan pekerjaan itu, tetapi katakanlah saya ingin melakukan ini hanya dengan xtable).

Mari gunakan mtcarskumpulan data dan reshapepaket standar :

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

Jika saya membungkus ini di dalam xtable, saya akan mendapatkan nama baris (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}

Sekarang, adakah kemungkinan saya bisa menghindari ini (dalam satu baris, jika memungkinkan)?

Jawaban:


165

Gunakan include.rownames=FALSEdalam printmetode ini. Lihat ?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}

1
Yap, saya lupa baca dokumentasi cara print. Terima kasih!
aL3xa

4
Bukan satu liner, melainkan satu argumenter. :)
Roman Luštrik

Dan default matrixke data.framekonversi itu benar-benar mengganggu. Ini adalah satu-satunya solusi (solusi) untuk dipertahankan rownames: vpihur.com/blog/?p=131 Jadi saya harus memodifikasi fungsi saya: gist.github.com/887249 untuk ditetapkan rownamessebagai kolom pertama. Dan kemudian memohon LaTeX untuk tidak menyelaraskan sel-selnya sendiri ... sialan!
aL3xa
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.