我想访问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
(对于行)的位置。有没有办法获得这个价值?
是的,我知道在这个例子中我已经有了子集的行号。但是,大多数时候我在逻辑上进行子集化,并且在任何情况下我都希望避免单独找到行索引并将其传递给函数。
答案 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"