如何使用R中的向量元素创建上三角矩阵?
要使用向量元素创建上三角矩阵,我们可以首先创建具有适当列数和行数的矩阵,然后对该矩阵进行转置。之后,我们将下三角矩阵元素赋值为0。
行数和列数的选择在这里起着重要作用,因此我们在选择时需要小心。
查看下面给出的示例以了解如何完成。
示例1
以下代码段创建了一个向量-
x1<-rpois(5,2) x1
创建以下向量-
[1] 2 2 3 0 0
要使用x1创建上三角矩阵,请将以下代码添加到上述代码段中-
x1<-rpois(5,2) M1<-t(matrix(x1,nrow=9,ncol=5))[,1:5] M1输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [,4] [,5] [1,] 2 2 3 0 0 [2,] 0 2 2 3 0 [3,] 0 0 2 2 3 [4,] 3 0 0 2 2 [5,] 2 3 0 0 2
将以下代码添加到上述代码段中-
M1[lower.tri(M1)]<-0 M1输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [,4] [,5] [1,] 2 2 3 0 0 [2,] 0 2 2 3 0 [3,] 0 0 2 2 3 [4,] 0 0 0 2 2 [5,] 0 0 0 0 2
示例2
以下代码段创建了一个向量-
x2<-rpois(10,5) x2输出结果
创建以下向量-
[1] 5 8 5 4 3 5 5 5 11 6
要使用x2创建上三角矩阵,请将以下代码添加到上述代码段中-
x2<-rpois(10,5) M2<-t(matrix(x2,nrow=19,ncol=10))[,1:10] M2输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1][,2][,3][,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 5 8 5 4 3 5 5 5 11 6 [2,] 6 5 8 5 4 3 5 5 5 11 [3,] 11 6 5 8 5 4 3 5 5 5 [4,] 5 11 6 5 8 5 4 3 5 5 [5,] 5 5 11 6 5 8 5 4 3 5 [6,] 5 5 5 11 6 5 8 5 4 3 [7,] 3 5 5 5 11 6 5 8 5 4 [8,] 4 3 5 5 5 11 6 5 8 5 [9,] 5 4 3 5 5 5 11 6 5 8 [10,] 8 5 4 3 5 5 5 11 6 5
将以下代码添加到上述代码段中-
M2[lower.tri(M2)]<-0 M2输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10] [1,] 5 8 5 4 3 5 5 5 11 6 [2,] 0 5 8 5 4 3 5 5 5 11 [3,] 0 0 5 8 5 4 3 5 5 5 [4,] 0 0 0 5 8 5 4 3 5 5 [5,] 0 0 0 0 5 8 5 4 3 5 [6,] 0 0 0 0 0 5 8 5 4 3 [7,] 0 0 0 0 0 0 5 8 5 4 [8,] 0 0 0 0 0 0 0 5 8 5 [9,] 0 0 0 0 0 0 0 0 5 8 [10,] 0 0 0 0 0 0 0 0 0 5
示例3
以下代码段创建了一个向量-
x3<-rpois(3,28) x3
创建以下向量-
[1] 21 33 24
要使用x3创建上三角矩阵,请将以下代码添加到上述代码段中-
x3<-rpois(3,28) M3<-t(matrix(x3,nrow=5,ncol=3))[,1:3] M3输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [1,] 21 33 24 [2,] 24 21 33 [3,] 33 24 21
将以下代码添加到上述代码段中-
M3[lower.tri(M3)]<-0 M3输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [1,] 21 33 24 [2,] 0 21 33 [3,] 0 0 21
示例4
以下代码段创建了一个向量-
x4<-rpois(5,500) x4
创建以下向量-
输出结果
[1] 495 499 478 502 531
要使用x4创建上三角矩阵,请将以下代码添加到上述代码段中-
x4<-rpois(5,500) M4<-t(matrix(x4,nrow=9,ncol=5))[,1:5] M4输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [,4] [,5] [1,] 495 499 478 502 531 [2,] 531 495 499 478 502 [3,] 502 531 495 499 478 [4,] 478 502 531 495 499 [5,] 499 478 502 531 495
将以下代码添加到上述代码段中-
M4[lower.tri(M4)]<-0 M4输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [,4] [,5] [1,] 495 499 478 502 531 [2,] 0 495 499 478 502 [3,] 0 0 495 499 478 [4,] 0 0 0 495 499 [5,] 0 0 0 0 495
例5
以下代码段创建了一个向量-
x5<-rpois(10,100) x5
创建以下向量-
[1] 109 85 108 86 76 99 113 75 82 86
要使用x5创建上三角矩阵,请将以下代码添加到上述代码段中-
x5<-rpois(10,100) M5<-t(matrix(x5,nrow=19,ncol=10))[,1:10] M5输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2][,3][,4][,5][,6][,7][,8][,9][,10] [1,] 109 85 108 86 76 99 113 75 82 86 [2,] 86 109 85 108 86 76 99 113 75 82 [3,] 82 86 109 85 108 86 76 99 113 75 [4,] 75 82 86 109 85 108 86 76 99 113 [5,] 113 75 82 86 109 85 108 86 76 99 [6,] 99 113 75 82 86 109 85 108 86 76 [7,] 76 99 113 75 82 86 109 85 108 86 [8,] 86 76 99 113 75 82 86 109 85 108 [9,] 108 86 76 99 113 75 82 86 109 85 [10,] 85 108 86 76 99 113 75 82 86 109
将以下代码添加到上述代码段中-
M5[lower.tri(M5)]<-0 M5输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10] [1,] 109 85 108 86 76 99 113 75 82 86 [2,] 0 109 85 108 86 76 99 113 75 82 [3,] 0 0 109 85 108 86 76 99 113 75 [4,] 0 0 0 109 85 108 86 76 99 113 [5,] 0 0 0 0 109 85 108 86 76 99 [6,] 0 0 0 0 0 109 85 108 86 76 [7,] 0 0 0 0 0 0 109 85 108 86 [8,] 0 0 0 0 0 0 0 109 85 108 [9,] 0 0 0 0 0 0 0 0 109 85 [10,] 0 0 0 0 0 0 0 0 0 109