Removing display of row names from data frame
You have successfully removed the row names. The print.data.frame
method just shows the row numbers if no row names are present.
df1 <- data.frame(values = rnorm(3), group = letters[1:3], row.names = paste0("RowName", 1:3))print(df1)# values group#RowName1 -1.469809 a#RowName2 -1.164943 b#RowName3 0.899430 crownames(df1) <- NULLprint(df1)# values group#1 -1.469809 a#2 -1.164943 b#3 0.899430 c
You can suppress printing the row names and numbers in print.data.frame
with the argument row.names
as FALSE
.
print(df1, row.names = FALSE)# values group# -1.4345829 d# 0.2182768 e# -0.2855440 f
Edit: As written in the comments, you want to convert this to HTML. From the xtable
and print.xtable
documentation, you can see that the argument include.rownames
will do the trick.
library("xtable")print(xtable(df1), type="html", include.rownames = FALSE)#<!-- html table generated in R 3.1.0 by xtable 1.7-3 package -->#<!-- Thu Jun 26 12:50:17 2014 -->#<TABLE border=1>#<TR> <TH> values </TH> <TH> group </TH> </TR>#<TR> <TD align="right"> -0.34 </TD> <TD> a </TD> </TR>#<TR> <TD align="right"> -1.04 </TD> <TD> b </TD> </TR>#<TR> <TD align="right"> -0.48 </TD> <TD> c </TD> </TR>#</TABLE>
Yes I know it is over half a year later and a tad late, BUT
row.names(df) <- NULL
does work. For me at least :-)
And if you have important information in row.names like dates for example, what I do is just :
df$Dates <- as.Date(row.names(df))
This will add a new column on the end but if you want it at the beginning of your data frame
df <- df[,c(7,1,2,3,4,5,6,...)]
Hope this helps those from Google :)
If you want to format your table via kable
, you can use row.names = F
kable(df, row.names = F)