我有一个包含 4 位和 6 位数字的矩阵,它们基本上包括 2 或 3 对数字,描述重叠的形状。所以,例如,
data1<-cbind(474440,470000,440000,40000,404400,474000).
矩阵的每个单元格都具有 a 47
、 a 44
、 a40
或以上的某种组合,其余数字为零。我有另一个类似的数据集,但只有两对数字,而不是三对。所以,例如,
data2<-cbind(5253,5200,5300,50000,5053).
同样,该组合包含52
、53
、50
或它们的某种组合。我希望能够为两位数中的每一个选择一个逻辑矩阵,因此选择40
indata1
将 yield (TRUE,FALSE,FALSE,TRUE,TRUE,TRUE)
,并选择50
indata2
将 yield (FALSE, FALSE, FALSE, TRUE, TRUE)
。我已经尝试创建一个我正在寻找的唯一两位数字的列表,并使用 grepl 来选择那些与模式匹配的数字,但是由于矩阵中的零代表空值,grepl 选择了太多的细胞; 例如,寻找40
indata1
会产生(TRUE, FALSE, TRUE,TRUE, TRUE, TRUE)
。