1
두 개의 행렬 A와 B를가집니다. 행렬 B는 두 행의 행렬입니다. 각 행에는 행렬 A의 요소 색인이 하나씩 들어 있습니다. 행렬 A의 요소를 변경하려고합니다. 행렬 B의 각 행에 의해 색인됩니다 , 0으로.다른 매트릭스에서 색인 된 하나의 매트릭스에서 요소를 변경하는 방법은 무엇입니까?
아래에 표시된 루프를 사용하지 않는 방법이 있습니까?
> A <- matrix(1:12, 3, 4)
> B <- matrix(c(1, 2, 2, 2, 3, 4), byrow = TRUE, ncol = 2)
> A
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> B
[,1] [,2]
[1,] 1 2
[2,] 2 2
[3,] 3 4
> for (i in 1:nrow(B)) {
+ A[B[i, 1], B[i, 2]] <- 0
+ }
> A
[,1] [,2] [,3] [,4]
[1,] 1 0 7 10
[2,] 2 0 8 11
[3,] 3 6 9 0
처럼 이루어집니다. 굉장해! – stanekam
실제로 하위 집합의 좋은 방법입니다. '? ['/'Details' /'Matrices and arrays'에서 더 많은 것을 읽을 수 있습니다. – Henrik
그렇게 생각하지 마십시오. 고마워요! –