11

I have a dataframe in R that I create like this:

estimate1 = rep(1,times=4)
standardError = rep(2, times = 4)
pvalue = runif(4, min=0, max=1)
rowNames =c('Thing1','Things2','Thing3','Thing4')
tableResults = as.data.frame(cbind(rowNames, estimate1, standardError, pvalue))

When I try to write to a text file using:

xtable(tableResults, include.rownames=FALSE) 

I get:

\begin{tabular}{rllll}
  \hline
 & rowNames & estimate1 & standardError & pvalue \\ 
  \hline
  1 & Thing1 & 1 & 2 & 0.624112528283149 \\ 
  2 & Things2 & 1 & 2 & 0.516147756483406 \\ 
  3 & Thing3 & 1 & 2 & 0.756535144057125 \\ 
  4 & Thing4 & 1 & 2 & 0.0105485401581973 \\ 
   \hline
\end{tabular}

I can't figure out how to get rid of the row numbers in the first column. I thought the "include.rownames=FALSE" would get rid of it, but that doesn't work.

Eli
  • 280
  • 1
  • 3
  • 13

1 Answers1

26

include.rownames is an argument for the print function of xtable objects, print.xtable, not the xtable function. Use the following code instead:

print(xtable(tableResults), include.rownames=FALSE)

% latex table generated in R 3.2.3 by xtable 1.8-2 package
% Wed Jul 06 11:56:20 2016
\begin{table}[ht]
\centering
\begin{tabular}{llll}
  \hline
rowNames & estimate1 & standardError & pvalue \\ 
  \hline
Thing1 & 1 & 2 & 0.405261459294707 \\ 
  Things2 & 1 & 2 & 0.611535826232284 \\ 
  Thing3 & 1 & 2 & 0.482713349396363 \\ 
  Thing4 & 1 & 2 & 0.242787319235504 \\ 
   \hline
\end{tabular}
\end{table}
lmo
  • 37,904
  • 9
  • 56
  • 69