프로그래밍 및 코딩을 처음 사용하고 있으며 현재 통계 인증의 일환으로 학교에서 R을 학습 중입니다.대각선 행렬의 값을 특정 값으로 대체 R
대각선에 1이 있고 대각선에 0이 들어있는 'mat'이라는 10 x 10 매트릭스를 생성해야합니다.
내가 사용하여이 작업을 수행 한 다음
mat<-diag(10)
mat
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 0 0 0 0 0 0 0 0 0
[2,] 0 1 0 0 0 0 0 0 0 0
[3,] 0 0 1 0 0 0 0 0 0 0
[4,] 0 0 0 1 0 0 0 0 0 0
[5,] 0 0 0 0 1 0 0 0 0 0
[6,] 0 0 0 0 0 1 0 0 0 0
[7,] 0 0 0 0 0 0 1 0 0 0
[8,] 0 0 0 0 0 0 0 1 0 0
[9,] 0 0 0 0 0 0 0 0 1 0
[10,] 0 0 0 0 0 0 0 0 0 1
다음
나는 K도 = 3이 정체성 구조를 가지고 행렬의 akxk 블록을 분할하고이 수행되는 방법을 여러 가지 방법을 설명하도록 요청하고 이.
이mat2<-mat[c(1,2,3),c(1,2,3)]
mat2
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
지금까지 너무 좋은 것 같아요 :
나는 단지 다음을 수행이 작업을 수행하는 방법을 알아 냈어?
[,1] [,2] [,3]
[1,] 1 .5 .25
[2,] .5 1 .5
[3,] .25 .5 1
그러나, 지금은 정말 붙어있어, 난 지금이 같은 매트릭스 매트 (mat2)의 블록 대각 부분을 교체하도록 요청하고 mat2으로, 어떻게 다음에 대해 이동하는 아무 생각이 없다 내 교수는 또한 바깥 쪽 기능을 사용하면 더 쉽게 만들 수 있다고 암시하고있다. 어째서 이렇게 할 수 있을지 전혀 모르겠다. upper.tri와 lower.tri 함수를 사용해 보았지만 그다지 성공적이지 못했다.
대단히 감사하겠습니다. 미리 감사드립니다. 준비 교체 매트릭스가있는 경우
다시 가로 질러 만들기 위해 루프를 넣어 "얼마나 많은 방법?" 또 다른 방법은'mat [2 : 4, 2 : 4] '입니다. "replace"는 관련 문서를 보게됩니다. help.search ("replace", package = "base")' – Frank