首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据帧中删除行名的显示

从数据帧中删除行名的显示
EN

Stack Overflow用户
提问于 2014-06-26 10:24:46
回答 9查看 251.3K关注 0票数 96

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

代码语言:javascript
复制
df <- data.frame(dbGetQuery(con, paste('select * from test')))

其结果是:

代码语言:javascript
复制
    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

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

代码语言:javascript
复制
rownames(df) <- NULL

但是,当我打印出df时,它仍然显示行名。在创建数据框架时,是否存在不包含行名的方法?我找到了一个关于row.name = FALSE的建议,但当我尝试它时,我发现了一些错误(我可能把它放在了错误的地方)。

编辑:我想要做的是将dateframe转换成一个表,并且我不希望表中出现行名。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2014-06-26 10:34:08

您已经成功地删除了行名。如果没有行名,print.data.frame方法只显示行号。

代码语言:javascript
复制
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

您可以禁止在print.data.frame中打印行名和数字,参数row.names作为FALSE

代码语言:javascript
复制
print(df1, row.names = FALSE)
#     values group
# -1.4345829     d
#  0.2182768     e
# -0.2855440     f

编辑:如注释中所写,您希望将其转换为HTML。从xtableprint.xtable文档中可以看出,参数include.rownames将起作用。

代码语言:javascript
复制
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>
票数 119
EN

Stack Overflow用户

发布于 2015-01-06 20:50:59

是的,我知道已经过了半年多了,有点晚了,但是

代码语言:javascript
复制
row.names(df) <- NULL

确实有用。至少对我来说:-)

如果您在row.names中有一些重要的信息,比如日期,我所做的就是:

代码语言:javascript
复制
df$Dates <- as.Date(row.names(df))

这将在末尾添加一个新列,但如果需要,则在数据帧的开头添加一个新列。

代码语言:javascript
复制
df <- df[,c(7,1,2,3,4,5,6,...)]

希望这对那些来自谷歌的人有所帮助:)

票数 39
EN

Stack Overflow用户

发布于 2019-09-25 02:56:58

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

代码语言:javascript
复制
kable(df, row.names = F)
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24428051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档