如何在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
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP