ลบชื่อแถว data.frame เมื่อใช้ xtable


111

ตกลงฉันยอมรับว่าเรื่องนี้ค่อนข้างเข้าใจยาก (อ่าน: "โง่") และฉันคิดว่ามันค่อนข้างง่ายด้วย ฉันกำลังเขียนรายงานและฉันต้องการใช้xtableแพ็คเกจสำหรับการสร้างตาราง LaTeX (โปรดทราบว่าmemiscแพ็คเกจทำงานได้ แต่บอกว่าฉันต้องการทำสิ่งนี้เพียงอย่างเดียวด้วยxtable)

ลองใช้mtcarsชุดข้อมูลมาตรฐานและ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

ถ้าห่อไว้ข้างในxtableฉันจะได้ชื่อแถว (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}

ตอนนี้มีโอกาสที่ฉันจะหลีกเลี่ยงสิ่งนี้ได้หรือไม่ (ในซับเดียวถ้าเป็นไปได้)

คำตอบ:


165

ใช้include.rownames=FALSEในprintวิธีการ ดู?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
ใช่ฉันลืมอ่านเอกสารสำหรับวิธีการพิมพ์ ขอบคุณ!
aL3xa

4
ไม่ใช่ซับเดียว แต่เป็นอาร์กิวเมนต์เดียว :)
Roman Luštrik

และค่าเริ่มต้นของmatrixการdata.frameแปลงนั้นน่ารำคาญมาก นี่เป็นทางออกเดียว (วิธีแก้ปัญหา) ที่จะรักษาrownames: vpihur.com/blog/?p=131ดังนั้นฉันต้องแก้ไขฟังก์ชันของฉัน: gist.github.com/887249เพื่อตั้งrownamesเป็นคอลัมน์แรก แล้วจะขอร้อง LaTeX อย่าจัดเซลล์ด้วยตัวเขาเอง ... ไอ้!
aL3xa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.