在 R 中將單列矩陣轉換為對角矩陣。
對角矩陣是一種方陣,從左上到右下,非對角線元素均為零。
為了在 R 中將單列矩陣轉換為對角矩陣,我們可以使用 diag 函式以及 matrix 函式,並使用 ncol 引數,其中我們可以將列數設定為單列矩陣中值的個數。
檢視下面給出的示例,瞭解如何實現。
示例 1
以下程式碼片段建立了一個示例矩陣 -
M1<-matrix(rpois(5,2),ncol=1) M1
建立了以下矩陣 -
[,1] [1,] 2 [2,] 3 [3,] 5 [4,] 1 [5,] 1
為了將矩陣 M1 轉換為上面建立的矩陣上的對角矩陣,請將以下程式碼新增到上面的程式碼片段中 -
M1<-matrix(rpois(5,2),ncol=1) M1<-matrix(diag(as.vector(M1)),ncol=5) M1
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出 -
[,1] [,2] [,3] [,4] [,5] [1,] 2 0 0 0 0 [2,] 0 3 0 0 0 [3,] 0 0 5 0 0 [4,] 0 0 0 1 0 [5,] 0 0 0 0 1
示例 2
以下程式碼片段建立了一個示例矩陣 -
M2<-matrix(rpois(5,500),ncol=1) M2
建立了以下矩陣 -
[,1] [1,] 505 [2,] 505 [3,] 523 [4,] 545 [5,] 507
為了將矩陣 M2 轉換為上面建立的矩陣上的對角矩陣,請將以下程式碼新增到上面的程式碼片段中 -
M2<-matrix(rpois(5,500),ncol=1) M2<-matrix(diag(as.vector(M2)),ncol=5) M2
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出 -
[,1] [,2] [,3] [,4] [,5] [1,] 505 0 0 0 0 [2,] 0 505 0 0 0 [3,] 0 0 523 0 0 [4,] 0 0 0 545 0 [5,] 0 0 0 0 507
示例 3
以下程式碼片段建立了一個示例矩陣 -
M3<-matrix(rnorm(5),ncol=1) M3
建立了以下矩陣 -
[,1] [1,] 0.2614596 [2,] 0.6914427 [3,] -1.8483160 [4,] -1.0057351 [5,] -1.4467553
為了將矩陣 M3 轉換為上面建立的矩陣上的對角矩陣,請將以下程式碼新增到上面的程式碼片段中 -
M3<-matrix(rnorm(5),ncol=1) M3<-matrix(diag(as.vector(M3)),ncol=5) M3
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出 -
[,1] [,2] [,3] [,4] [,5] [1,] 0.2614596 0.0000000 0.000000 0.000000 0.000000 [2,] 0.0000000 0.6914427 0.000000 0.000000 0.000000 [3,] 0.0000000 0.0000000 -1.848316 0.000000 0.000000 [4,] 0.0000000 0.0000000 0.000000 -1.005735 0.000000 [5,] 0.0000000 0.0000000 0.000000 0.000000 -1.446755
示例 4
以下程式碼片段建立了一個示例矩陣 -
M4<-matrix(round(rnorm(5,25,3.2),1),ncol=1) M4
建立了以下矩陣 -
[,1] [1,] 26.6 [2,] 26.5 [3,] 22.1 [4,] 24.8 [5,] 19.1
為了將矩陣 M4 轉換為上面建立的矩陣上的對角矩陣,請將以下程式碼新增到上面的程式碼片段中 -
M4<-matrix(round(rnorm(5,25,3.2),1),ncol=1) M4<-matrix(diag(as.vector(M4)),ncol=5) M4
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出 -
[,1] [,2] [,3] [,4] [,5] [1,] 26.6 0.0 0.0 0.0 0.0 [2,] 0.0 26.5 0.0 0.0 0.0 [3,] 0.0 0.0 22.1 0.0 0.0 [4,] 0.0 0.0 0.0 24.8 0.0 [5,] 0.0 0.0 0.0 0.0 19.1
示例 5
以下程式碼片段建立了一個示例矩陣 -
M5<-matrix(round(runif(5,2,10),2),ncol=1) M5
建立了以下矩陣 -
[,1] [1,] 5.92 [2,] 7.34 [3,] 7.72 [4,] 3.18 [5,] 7.00
為了將矩陣 M5 轉換為上面建立的矩陣上的對角矩陣,請將以下程式碼新增到上面的程式碼片段中 -
M5<-matrix(round(runif(5,2,10),2),ncol=1) M5<-matrix(diag(as.vector(M5)),ncol=5) M5
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出 -
[,1] [,2] [,3] [,4] [,5] [1,] 5.92 0.00 0.00 0.00 0 [2,] 0.00 7.34 0.00 0.00 0 [3,] 0.00 0.00 7.72 0.00 0 [4,] 0.00 0.00 0.00 3.18 0 [5,] 0.00 0.00 0.00 0.00 7
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP