Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
546 views
in Technique[技术] by (71.8m points)

r - Remove data.frame row names when using xtable

OK, I admit this one is a bit uptight (read: "stupid"), and I assume it's quite easy too. I'm writing a report and I want to use xtable package for LaTeX table generation (note that memisc package does the job, but say I want to do this solely with xtable).

Let's use standard mtcars dataset and reshape package:

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

If I wrap this inside xtable, I'll get row names (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
egin{table}[ht]
egin{center}
egin{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}

Now, is there any chance that I can avoid this (in one-liner, if possible)?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Use include.rownames=FALSE in the print method. See ?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
egin{table}[ht]
egin{center}
egin{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}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...