我有以下矩阵:
> myletters <- matrix(letters[1:4], ncol = 2)
> myletters
[,1] [,2]
[1,] "a" "c"
[2,] "b" "d"
现在我想检查每个单元格中是否有"a"或"c"。
> str_detect(myletters, "[ac]")
[1] TRUE FALSE TRUE FALSE
现在我有一个逻辑向量,但我想要一个矩阵。我的期望输出是:
[,1] [,2]
[1,] TRUE TRUE
[2,] FALSE FALSE
别误会,我当然知道一些可能的方法来解决这个问题,但我认为像matrix(str_detect(myletters, "[ac]"), ncol = 2)
这样的解决方案相当丑陋。肯定有更好的方法吧?
而我不知道为什么会发生这种情况。以下是我得到期望输出的情况与上述情况之间的区别在哪里?
> matrix(1:4, ncol = 2) > 2
[,1] [,2]
[1,] FALSE TRUE
[2,] FALSE TRUE
myletters == "a" | myletters == "c"
对于示例矩阵起作用。 - G. Grothendieck