我是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)
答案 0 :(得分:1)
可能是因为这些值不完全等于0。可以通过将其与0相乘来检查。By
y$V2[2] - 0
在这种情况下,可以选择round
并选中
which(round(y$V2) == 0)