当matrix
中data.frame
或NA
中用于行索引的向量的某些元素缺少R
时,索引操作会产生我意外发现的结果
m = matrix(1:15,ncol = 3)
m[1,1] = NA
m[m[,1] < 4 ,]
给出
[,1] [,2] [,3]
[1,] NA NA NA
[2,] 2 7 12
[3,] 3 8 13
虽然我本来期待
[,1] [,2] [,3]
[1,] NA 4 11
[2,] 2 7 12
[3,] 3 8 13
一个选项似乎是
m[m[,1] < 4 | is.na(m[,1]) ,]
但我觉得这不方便。在索引包含缺失的矩阵和data.frames时,我经常会错误地丢失数据。是否有更简单,更安全的方法来达到预期效果?