如何標準化資料表中不在 R 中的所有多個列?
我們可按照以下步驟,對並非都存在於 R 中的資料表物件中的多個列進行標準化 -
首先,建立一個 data.table 物件。
然後用單引號對列進行子集化,並使用 lapply、list 和 scale 函式來對這些列進行標準化。
示例
建立 data.table 物件
讓我們按照如下所示建立一個 data.table 物件 -
library(data.table) x<-sample(1:50,25) y<-sample(1:50,25) z<-sample(1:50,25) DT<-data.table(x,y,z) DT
輸出
執行上述指令碼後,生成了如下輸出(由於隨機性的緣故,該輸出在你的系統上會有所不同) -
x y z 1: 31 19 49 2: 4 38 45 3: 25 46 43 4: 21 45 32 5: 50 48 14 6: 48 8 50 7: 32 33 18 8: 36 20 42 9: 15 18 47 10: 49 43 19 11: 30 21 36 12: 10 35 24 13: 47 14 27 14: 1 47 21 15: 5 32 34 16: 20 26 30 17: 42 15 7 18: 26 2 33 19: 33 41 23 20: 22 42 48 21: 44 9 10 22: 23 7 46 23: 28 40 8 24: 16 31 22 25: 9 44 37 x y z
標準化非全部多個列
用單引號對 x 和 y 列進行子集化,並使用 lapply、list 和 scale 函式來對這些列進行標準化,如下所示 -
library(data.table)
x<-sample(1:50,25)
y<-sample(1:50,25)
z<-sample(1:50,25)
DT<-data.table(x,y,z)
DT[,c("y","z"):=lapply(list(y,z),scale)]
DT輸出
x y z 1: 31 -0.6845293 1.3518818 2: 4 0.6212997 1.0579944 3: 25 1.1711225 0.9110508 4: 21 1.1023946 0.1028606 5: 50 1.3085782 -1.2196325 6: 48 -1.4405357 1.4253536 7: 32 0.2776605 -0.9257451 8: 36 -0.6158015 0.8375789 9: 15 -0.7532572 1.2049381 10: 49 0.9649390 -0.8522733 11: 30 -0.5470737 0.3967479 12: 10 0.4151162 -0.4849141 13: 47 -1.0281686 -0.2644986 14: 1 1.2398503 -0.7053296 15: 5 0.2089327 0.2498042 16: 20 -0.2034344 -0.0440831 17: 42 -0.9594407 -1.7339353 18: 26 -1.8529027 0.1763324 19: 33 0.8274833 -0.5583860 20: 22 0.8962111 1.2784099 21: 44 -1.3718078 -1.5135198 22: 23 -1.5092635 1.1314663 23: 28 0.7587554 -1.6604635 24: 16 0.1402048 -0.6318578 25: 9 1.0336668 0.4702197 x y z
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP