如何在R中將向量轉換為對角矩陣?
對角矩陣是一種方陣,從左上到右下,非對角元素均為零。要在R中將向量轉換為對角矩陣,我們可以使用diag函式以及matrix函式,並使用ncol引數,其中我們可以將列數設定為等於向量中的值的數量。請檢視下面給出的示例,以瞭解如何實現。
示例 1
以下程式碼片段是一個示例列表 -
V1<-rpois(5,10) V1
建立以下向量 -
[1] 9 8 4 8 9
以下程式碼片段建立一個示例矩陣 -
V1<-rpois(5,10) M1<-matrix(diag(V1),ncol=5) M1
建立以下矩陣 -
[,1] [,2] [,3] [,4] [,5] [1,] 9 0 0 0 0 [2,] 0 8 0 0 0 [3,] 0 0 4 0 0 [4,] 0 0 0 8 0 [5,] 0 0 0 0 9
示例 2
以下程式碼片段是一個示例列表 -
V2<-rpois(5,500) V2
建立以下向量 -
[1] 500 484 487 515 460
以下程式碼片段建立一個示例矩陣 -
V2<-rpois(5,500) M2<-matrix(diag(V2),ncol=5) M2
建立以下矩陣 -
[,1] [,2] [,3] [,4] [,5] [1,] 500 0 0 0 0 [2,] 0 484 0 0 0 [3,] 0 0 487 0 0 [4,] 0 0 0 515 0 [5,] 0 0 0 0 460
示例 3
以下程式碼片段是一個示例列表 -
V3<-sample(1:100,5) V3
建立以下向量 -
[1] 19 72 11 95 5
以下程式碼片段建立一個示例矩陣 -
V3<-sample(1:100,5) M3<-matrix(diag(V3),ncol=5) M3
建立以下矩陣 -
[,1] [,2] [,3] [,4] [,5] [1,] 19 0 0 0 0 [2,] 0 72 0 0 0 [3,] 0 0 11 0 0 [4,] 0 0 0 95 0 [5,] 0 0 0 0 5
示例 4
以下程式碼片段是一個示例列表 -
V4<-round(rnorm(5),2) V4
建立以下向量 -
[1] -0.81 -1.12 -0.98 -1.59 0.58
以下程式碼片段建立一個示例矩陣 -
V4<-round(rnorm(5),2) M4<-matrix(diag(V4),ncol=5) M4
建立以下矩陣 -
[,1] [,2] [,3] [,4] [,5] [1,] -0.81 0.00 0.00 0.00 0.00 [2,] 0.00 -1.12 0.00 0.00 0.00 [3,] 0.00 0.00 -0.98 0.00 0.00 [4,] 0.00 0.00 0.00 -1.59 0.00 [5,] 0.00 0.00 0.00 0.00 0.58
示例 5
以下程式碼片段是一個示例列表 -
V5<-round(rnorm(5,10,0.5),2) V5
建立以下向量 -
[1] 10.43 8.89 9.79 10.50 9.29
以下程式碼片段建立一個示例矩陣 -
V5<-round(rnorm(5,10,0.5),2) M5<-matrix(diag(V5),ncol=5) M5
建立以下矩陣 -
[,1] [,2] [,3] [,4] [,5] [1,] 10.43 0.00 0.00 0.0 0.00 [2,] 0.00 8.89 0.00 0.0 0.00 [3,] 0.00 0.00 9.79 0.0 0.00 [4,] 0.00 0.00 0.00 10.5 0.00 [5,] 0.00 0.00 0.00 0.0 9.29
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP