如何使用小于或等于列的值作为选择另一列中的行的条件?

时间:2015-04-19 12:10:58

标签: r operators data-manipulation which

简单的问题,我想。基本上,我想使用“小于或等于数字”的概念作为选择一列的行的条件,然后在另一列的同一行中找到该值。但是,如果第一列中没有找到条件中所述的数字,会发生什么?

我们假设这是我的数据框:

df<-as.data.frame((matrix(c(1:10,11:20), nrow = 10, ncol = 2)))
df
   V1 V2
1   1 11
2   2 12
3   3 13
4   4 14
5   5 15
6   6 16
7   7 17
8   8 18
9   9 19
10 10 20

假设我想在df $ V1中使用条件<=5来获取用于在df $ V2中查找同一行值的行。

df[which(df$V1 <= 5),2]
15

但如果找不到条件中使用的数字,会发生什么?我们假设这是我的新data.frame

   V1 V2
1   1 11
2   2 12
3   3 13
4   4 14
5   6 15
6   7 16
7   8 17
8   9 18
9  10 19
10 11 20

使用相同的上述命令df[which(df$V1 <= 5),2],我得到了不同的答案。出于某种原因,我获得了整个列而不是一个数字。

11 12 13 14 15 16 17 18 19 20

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用子集运算符:

df[df[,2]<= 5,1]