如何在R中将矩阵的对角元素设置为1?
首先我们需要了解的是,对角元素仅在具有方矩阵的情况下才有用,否则设置对角元素将毫无意义,这几乎是所有数学家都知道的,但是有些新生可能会感到困惑,因为我们可以在对角元素中创建对角元素。非正方形矩阵,不应称为对角线。在R中,我们可以使用diag函数将矩阵的对角元素设置为1。
例1
> M1<-matrix(1:25,ncol=5)> M1
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
> diag(M1)<-1> M1
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 1 6 11 16 21
[2,] 2 1 12 17 22
[3,] 3 8 1 18 23
[4,] 4 9 14 1 24
[5,] 5 10 15 20 1
例2
> M2<-matrix(rpois(36,5),ncol=6)> M2
输出结果
[,1] [,2] [,3] [,4] [,5] [,6][1,] 5 4 4 5 6 5
[2,] 4 5 7 8 3 4
[3,] 4 3 6 5 5 6
[4,] 7 4 4 6 2 6
[5,] 2 5 2 4 6 6
[6,] 7 2 3 5 4 3
> diag(M2)<-1> M2
输出结果
[,1] [,2] [,3] [,4] [,5] [,6][1,] 1 4 4 5 6 5
[2,] 4 1 7 8 3 4
[3,] 4 3 1 5 5 6
[4,] 7 4 4 1 2 6
[5,] 2 5 2 4 1 6
[6,] 7 2 3 5 4 1
例子3
> M3<-matrix(rpois(64,10),ncol=8)> M3
输出结果
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8][1,] 8 9 17 7 12 11 4 10
[2,] 8 15 8 7 13 10 13 11
[3,] 13 9 9 13 4 10 11 9
[4,] 9 9 7 10 5 13 11 5
[5,] 7 9 9 8 9 11 8 15
[6,] 12 8 10 14 15 3 4 8
[7,] 9 8 7 11 11 11 10 6
[8,] 7 12 6 11 10 6 9 7
> diag(M3)<-1> M3
输出结果
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8][1,] 1 9 17 7 12 11 4 10
[2,] 8 1 8 7 13 10 13 11
[3,] 13 9 1 13 4 10 11 9
[4,] 9 9 7 1 5 13 11 5
[5,] 7 9 9 8 1 11 8 15
[6,] 12 8 10 14 15 1 4 8
[7,] 9 8 7 11 11 11 1 6
[8,] 7 12 6 11 10 6 9 1
例子4
> M4<-matrix(sample(1:10,100,replace=TRUE),ncol=10)> M4
输出结果
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10][1,] 4 8 8 1 8 6 1 4 10 7
[2,] 4 8 3 4 8 5 10 3 10 9
[3,] 8 2 1 7 4 7 7 9 3 5
[4,] 6 2 9 2 10 2 2 2 6 4
[5,] 6 9 4 8 2 1 8 4 7 7
[6,] 2 9 7 9 1 6 10 8 7 9
[7,] 3 6 2 7 5 2 7 3 1 5
[8,] 1 6 6 10 2 7 6 2 1 9
[9,] 1 1 6 3 10 1 4 4 9 3
[10,] 7 10 3 7 10 10 4 10 1 9
> diag(M4)<-1> M4
输出结果
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10][1,] 1 8 8 1 8 6 1 4 10 7
[2,] 4 1 3 4 8 5 10 3 10 9
[3,] 8 2 1 7 4 7 7 9 3 5
[4,] 6 2 9 1 10 2 2 2 6 4
[5,] 6 9 4 8 1 1 8 4 7 7
[6,] 2 9 7 9 1 1 10 8 7 9
[7,] 3 6 2 7 5 2 1 3 1 5
[8,] 1 6 6 10 2 7 6 1 1 9
[9,] 1 1 6 3 10 1 4 4 1 3
[10,] 7 10 3 7 10 10 4 10 1 1
范例5
> M5<-matrix(sample(0:9,25,replace=TRUE),ncol=5)> M5
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 6 6 9 9 0
[2,] 2 4 3 9 7
[3,] 1 7 8 3 8
[4,] 9 5 0 4 6
[5,] 9 7 0 1 3
> diag(M5)<-1> M5
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 1 6 9 9 0
[2,] 2 1 3 9 7
[3,] 1 7 1 3 8
[4,] 9 5 0 1 6
[5,] 9 7 0 1 1
以上是 如何在R中将矩阵的对角元素设置为1? 的全部内容, 来源链接: utcz.com/z/362186.html