如何在 R 中將 data.table 物件轉換為矩陣?
data.table 物件在 R 中非常類似於資料框,因此,將 data.table 物件轉換為矩陣並不是一項困難的工作。我們只需要使用 as.matrix 函式並將 data.table 物件儲存到一個屬於矩陣的新物件中,否則 R 將無法將 data.object 轉換為矩陣。例如,如果我們有一個 data.table 物件 DT,則要將其轉換為矩陣,我們應該使用以下示例程式碼:
DT_matrix<-as.matrix(DT)
載入 data.table 包:
library(data.table)
建立一個 data.table 物件:
示例
x1<-rnorm(20,1,0.04) x2<-rnorm(20,5,1.2) x3<-runif(20,5,10) x4<-runif(20,1,5) DT1<-data.table(x1,x2,x3,x4) DT1
輸出
x1 x2 x3 x4 1: 0.9785610 7.345365 8.079572 4.289080 2: 0.9787770 6.684993 6.842196 3.420399 3: 0.9936527 5.076511 6.584490 4.339317 4: 0.9585088 6.348905 5.256956 1.041050 5: 1.0172288 6.076759 6.456343 3.964968 6: 1.0199971 6.384019 6.444665 2.477480 7: 1.0027680 5.189908 6.352739 3.358625 8: 1.0013410 7.480771 6.236253 3.704360 9: 0.9638484 3.173219 6.768095 2.710411 10: 0.9771605 4.072879 5.269356 3.689747 11: 0.9768464 3.898211 8.212824 1.230352 12: 1.0322361 4.964122 8.062670 2.333302 13: 0.9730514 2.746493 7.991256 1.319675 14: 1.0157617 4.032643 7.324038 3.883257 15: 1.0167210 6.994750 5.123840 3.157113 16: 0.9526550 5.292459 8.401666 2.362798 17: 1.0022340 4.753125 6.175266 3.900407 18: 1.0456185 6.001135 8.018412 3.324448 19: 1.1422387 5.121760 5.340800 2.348761 20: 0.9269784 5.893736 5.754917 1.940769
is.matrix(DT1_matrix)
[1] TRUE
讓我們看另一個例子:
示例
y1<-rpois(20,2) y2<-rpois(20,5) y3<-rpois(20,8) y4<-rpois(20,10) y5<-sample(0:9,20,replace=TRUE) DT2<-data.table(y1,y2,y3,y4,y5) DT2
輸出
y1 y2 y3 y4 y5 1: 2 5 12 12 7 2: 2 7 9 8 1 3: 2 5 3 9 2 4: 0 0 10 12 9 5: 2 3 5 8 8 6: 4 7 6 8 9 7: 2 7 8 9 0 8: 0 7 8 11 1 9: 3 6 7 8 2 10: 0 3 8 9 1 11: 2 7 9 9 2 12: 3 4 8 7 7 13: 0 1 10 14 8 14: 1 6 7 5 9 15: 3 3 12 14 6 16: 0 4 8 8 4 17: 1 7 9 13 2 18: 5 1 14 11 7 19: 1 4 14 9 6 20: 3 5 8 10 1
將 data.table 物件轉換為矩陣物件:
示例
DT2_matrix<-as.matrix(DT2) DT2_matrix
輸出
y1 y2 y3 y4 y5 [1,] 2 5 12 12 7 [2,] 2 7 9 8 1 [3,] 2 5 3 9 2 [4,] 0 0 10 12 9 [5,] 2 3 5 8 8 [6,] 4 7 6 8 9 [7,] 2 7 8 9 0 [8,] 0 7 8 11 1 [9,] 3 6 7 8 2 [10,] 0 3 8 9 1 [11,] 2 7 9 9 2 [12,] 3 4 8 7 7 [13,] 0 1 10 14 8 [14,] 1 6 7 5 9 [15,] 3 3 12 14 6 [16,] 0 4 8 8 4 [17,] 1 7 9 13 2 [18,] 5 1 14 11 7 [19,] 1 4 14 9 6 [20,] 3 5 8 10 1
is.matrix(DT2_matrix)
[1] TRUE
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP