用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")