Xóa tên hàng data.frame khi sử dụng xtable


111

OK, tôi thừa nhận cái này hơi khó hiểu (đọc là: "ngu ngốc") và tôi cho rằng nó cũng khá dễ dàng. Tôi đang viết báo cáo và tôi muốn sử dụng xtablegói để tạo bảng LaTeX (lưu ý rằng memiscgói thực hiện công việc, nhưng nói rằng tôi chỉ muốn thực hiện điều này với xtable).

Hãy sử dụng gói mtcarsvà tập dữ liệu chuẩn reshape:

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

Nếu tôi bọc cái này bên trong xtable, tôi sẽ nhận được tên hàng (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}

Bây giờ, có bất kỳ cơ hội nào để tôi có thể tránh điều này (trong một lớp lót, nếu có thể)?

Câu trả lời:


165

Sử dụng include.rownames=FALSEtrong printphương pháp. Xem ?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
Yepp, tôi quên đọc tài liệu về phương pháp in. Cảm ơn!
aL3xa

4
Không phải là một người lót, mà là một người tranh luận. :)
Roman Luštrik

Và đó là mặc định matrixđể data.framechuyển đổi thực sự gây phiền nhiễu. Đây là giải pháp duy nhất (cách giải quyết) để duy trì rownames: vpihur.com/blog/?p=131 Vì vậy, tôi phải sửa đổi hàm của mình: gist.github.com/887249 để đặt rownameslàm cột đầu tiên. Và sau đó cầu xin LaTeX đừng tự mình sắp xếp các ô ... chết tiệt!
aL3xa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.