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

标签 r dataframe printing output-formatting

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

df <- data.frame(dbGetQuery(con, paste('select * from test')))

结果如下:

    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

然后,我尝试使用以下代码按照 here 的建议删除行名称(1、2、3 等):

rownames(df) <- NULL

但是当我打印出 df 时,它仍然显示行名称。有没有办法在创建数据框时不包含行名称?我发现了一个关于 row.name = FALSE 的建议,但是当我尝试它时,我只是得到了错误(我可能把它放在了错误的位置)。

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

最佳答案

您已成功删除行名称。如果不存在行名称,print.data.frame 方法仅显示行号。

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

您可以使用参数 row.namesFALSE 来禁止打印 print.data.frame 中的行名称和数字。

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

编辑: 正如评论中所写,您希望将其转换为 HTML。从 xtableprint.xtable 文档中,您可以看到参数 include.rownames 可以解决问题。

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>

关于从数据框中删除行名称的显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24428051/

相关文章:

ReactiveUI 基于 ReactiveUI 的问题

r - 在椭圆和矩形内生成数据

保留一个重复行

C - 如何只打印二维数组中的填充行

css - 为什么我无法准确打印网页?

r - 在已编译的 pdf 中在文档文本和 knitr 代码块之间添加空格

python - Pandas 在单面 window 上滚动

python - 根据另一列的变量将 Pandas 中的值分配给一列

python - 如何在Python中使用for循环附加数据帧而不覆盖现有数据帧

javascript - `background-size: cover;` 的 CSS 打印修复