【问题标题】:row.names(df[c(6193,7812),])- How to diplay certain row.names of a data.frame in R?row.names(df[c(6193,7812),])- 如何在 R 中显示 data.frame 的某些 row.names?
【发布时间】:2020-04-29 09:21:23
【问题描述】:

row.names(df[c(6193,7812),])

df 是一个 data.frame,由 8000 行和一个 row.name 列和一个附加列组成。 我想要df的row.names,但只想要第6193行和第7812行。为什么这不起作用?

row.names(df) 有效,但仅显示 row.names 直到第 1000 行,因为那时 R 达到最大打印量。

View(df[c(6193,7812), ] 也不工作……它只显示第一列,而不显示 row.names。

玩玩: df <- data.frame("col1"=c("1","2","5","5","6"),row.names = c("row1","row2","row3","row4","row5")) 我觉得这与 df 没有编号的行(如 row.names)这一事实有关。我不知道为什么以及如何改变它。

【问题讨论】:

  • rownames(df)[c(2,5)]

标签: r dataframe


【解决方案1】:

试试看:

row.names(df[c(6193,7812),,drop = FALSE])

当数据中只有一列时,默认情况下会删除其属性。

df[c(2, 3),]
#[1] "2" "5"

并且没有它的行名。

rownames(df[c(2, 3),])
#NULL

如果你使用

df[c(2, 3),, drop = FALSE]

#     col1
#row2    2
#row3    5

它维护了可以找到的属性和行名。

rownames(df[c(2, 3),, drop = FALSE])
#[1] "row2" "row3"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-11
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2014-04-21
    • 2015-04-30
    • 1970-01-01
    相关资源
    最近更新 更多