从R中的子集获取索引

时间:2017-12-06 23:31:41

标签: r

我想访问R中数据框子集的行索引,但是我找不到访问信息的方法。例如,如果我有数据框:

a <- c(1, 2, 3, 4, 5)
b <- c(2, 3, 4, 5, 6)
c <- data.frame(a, b)

我抓住第二排:

d <- c[2,]

如果我打印d,我会:

print(d)
  a b
2 2 3

所以我假设R以某种方式存储d在原始数据框中的行!但是,如果我去:

str(d)
'data.frame':   1 obs. of  2 variables:
 $ a: num 2
 $ b: num 3

我看不到存储2(对于行)的位置。有没有办法获得这个价值?

是的,我知道在这个例子中我已经有了子集的行号。但是,大多数时候我在逻辑上进行子集化,并且在任何情况下我都希望避免单独找到行索引并将其传递给函数。

1 个答案:

答案 0 :(得分:2)

a <- c(1, 2, 3, 4, 5)
b <- c(2, 3, 4, 5, 6)
c <- data.frame(a, b)
d <- c[2,]
rownames(d) # "2"; class(rownames(d)) = "character"
as.numeric(rownames(d)) # 2; class(as.numeric(rownames(d))) = "numeric"