如何在R中获取数据帧行

时间:2013-07-04 03:43:10

标签: r

请参阅以下代码

> df<-data.frame(x=c(4,4,5))
> rownames(df)<-c(9,3,8)
> df
  x
9 4
3 4
8 5
> y<-c(8)
> df[y[1],]
[1] NA

我理解这个问题,但我不知道解决方案。如何使用向量y引用df的最后一行(或一般的任何行)?这是一个更大问题的简化版本,因此没有给出简单的解决方法,如df [3,]或df [NROW(df),]。你必须使用y。

1 个答案:

答案 0 :(得分:2)

简单,将y转换为字符:

R> y <- as.character(y)
R> df[y[1],]
[1] 5

这是有效的,因为rownames总是字符。通过以下方式亲自看看:

R> rownames(df)
[1] "9" "3" "8"

您的尝试失败了,因为您要求的第8行只包含3行数据。