用R中的另一个变量索引一个变量

用R中的另一个变量索引一个变量,r,indexing,R,Indexing,我有以下两个矩阵 #generate matrices x11=matrix(rep("green",2), 4, (2)) y11=matrix(c(1,0,0,1,0,0,1,1),nrow=4,byrow = T) > x11 [,1] [,2] [1,] "green" "green" [2,] "green" "green" [3,] "green" "green" [4,] "green" "green"

我有以下两个矩阵

#generate matrices    
x11=matrix(rep("green",2), 4, (2)) 
y11=matrix(c(1,0,0,1,0,0,1,1),nrow=4,byrow = T)

> x11
         [,1]    [,2]   
    [1,] "green" "green"
    [2,] "green" "green"
    [3,] "green" "green"
    [4,] "green" "green"

> y11
             [,1] [,2]
        [1,]    1    0
        [2,]    0    1
        [3,]    0    0
        [4,]    1    1
所以现在我需要通过考虑y11的值来改变x11的(i,j)索引的值。这意味着如果y11的值为零,那么我需要将x11的索引更改为红色。(例如:-我需要将x11的第一行和第二列对应的值更改为红色,因为第一行和第二列的y11的值为零)

为此,我使用了以下代码段。但它似乎不起作用

  x11[y11] = "red"

有人能帮我解决这个问题吗?

我们可以用“y11”创建一个逻辑矩阵,即
!y11
为所有0返回TRUE,其他为FALSE。使用它来子集“x11”并将这些元素分配给“red”

x11[!y11] <- "red"
replace(x11, !y11, "red")