根据其值查找行

时间:2019-03-22 09:06:36

标签: r

我记得过去曾经遇到过这个问题,但是我找不到解决办法。

对于具有数字列a的数据框,我想找到其a = 27.99所在的行。查看数据框,我知道第100行就是这种情况。

所以:

> df$a[100]
27.99

> df$a[100] == 27.99
FALSE

> which(df$a == 27.99)
integer(0)

> is.numeric(df$a[100])
TRUE

我记得这可能与机器精度有关。

1 个答案:

答案 0 :(得分:0)

可能是浮点问题,请尝试:

which(round(df$a) == 28)

请参阅:floating point issue in R? 这也有非常详尽的解释:Why are these numbers not equal?