如何通过使用“哪个”选项获得一列中具有“零”值的行号?

时间:2019-08-06 04:21:50

标签: r

我是R的初学者。我正在努力获取特定列(V2)零值的行号。当我使用其他非零值时y[which(y$V2 == 0.916670024),]运行良好。但是对于零值例如y[which(y$V2 == 0.000000000),]并没有显示与零值相对应的行号。有没有人知道如何获取R中值为零的列的行号?

数据:y

  1   0.083329998 0.166669995
  2   0.000000000 0.000000000
  3   0.166339993 0.082999997
  4   0.083329998 0.041669998
  5   0.000000000 0.125000000
  6   0.166089997 0.207849994
  7   0.208330005 0.041669998
  8   0.125000000 0.125000000
  ..........................

对于非零值:

> y[which(y$V2 == 0.916670024),]

对于零值:

> y[which(y$V2 == 0.000000000),]

对于非零值:

      V1          V2
  145 0.083329998 0.916670024
  154 0.208330005 0.916670024
  157 0.333330005 0.916670024
  166 0.458330005 0.916670024
  169 0.583329976 0.916670024
  178 0.708329976 0.916670024
  181 0.833329976 0.916670024
  190 0.958329976 0.916670024

对于零值:

[1] V1 V2
<0 rows> (or 0-length row.names)

1 个答案:

答案 0 :(得分:1)

可能是因为这些值不完全等于0。可以通过将其与0相乘来检查。By

y$V2[2] - 0

在这种情况下,可以选择round并选中

which(round(y$V2) == 0)