0

见以下代码

> 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。

4

1 回答 1

2

简单,转换y为字符:

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

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

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

您的尝试失败了,因为您要求的是只有 3 行的 data.frame 的第 8 行。

于 2013-07-04T03:48:17.030 回答