从数据框中删除行名称的显示

Dom*_*ott 51 printing r dataframe rowname output-formatting

我正在使用以下代码创建数据框:

df <- data.frame(dbGetQuery(con, paste('select * from test')))
Run Code Online (Sandbox Code Playgroud)

结果如下:

    UID      BuildingCode   AccessTime
1   123456   BUILD-1        2014-06-16 07:00:00
2   364952   BUILD-2        2014-06-15 08:00:00
3    95865   BUILD-1        2014-06-06 09:50:00
Run Code Online (Sandbox Code Playgroud)

然后我试图删除的建议行名称(1,2,3等),在这里通过使用此代码:

rownames(df) <- NULL
Run Code Online (Sandbox Code Playgroud)

但是当我打印出来时,df它仍然显示行名称.有没有办法在创建数据框时不包括行名?我找到了一个建议,row.name = FALSE但是当我尝试它时,我只是遇到错误(我可能把它放在了错误的地方).

编辑:我想要做的是将日期框架转换为HTML表格,我不希望行名称出现在表格中.

And*_*rau 73

您已成功删除了rownames.print.data.frame如果不存在rownames,则该方法仅显示行号.

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     c

rownames(df1) <- NULL
print(df1)
#     values group
#1 -1.469809     a
#2 -1.164943     b
#3  0.899430     c
Run Code Online (Sandbox Code Playgroud)

您可以print.data.frame使用参数禁止打印rownames和数字row.names.

print(df1, row.names = FALSE)
#     values group
# -1.4345829     d
#  0.2182768     e
# -0.2855440     f
Run Code Online (Sandbox Code Playgroud)

编辑:如评论中所述,您希望将其转换为HTML.从FALSExtable文档中你可以看到参数print.xtable将起作用.

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>
Run Code Online (Sandbox Code Playgroud)


Nea*_*alC 22

是的,我知道它已经过了半年多了,而且已经晚了一点,但是

row.names(df) <- NULL
Run Code Online (Sandbox Code Playgroud)

确实有效.对我来说至少:-)

如果您在row.names中有重要信息,例如日期,我所做的只是:

df$Dates <- as.Date(row.names(df))
Run Code Online (Sandbox Code Playgroud)

这将在结尾添加一个新列,但如果您想在数据框的开头添加它

df <- df[,c(7,1,2,3,4,5,6,...)]
Run Code Online (Sandbox Code Playgroud)

希望这有助于谷歌的人:)


Gui*_*ira 9

如果您想通过 格式化您的表格kable,您可以使用row.names = F

kable(df, row.names = F)
Run Code Online (Sandbox Code Playgroud)


Sou*_*ral 8

一个dplyr办法 :

df = df %>% `rownames<-`( NULL )
Run Code Online (Sandbox Code Playgroud)

  • 这不是“dplyr 解决方案”。如果有的话,那就是 magrittr 解决方案。但更简单的解决方案是只调用 rownames(df) &lt;- NULL。 (2认同)