如何在 R 的 data.table 物件中縮放某些列?


要在 R 的 data.table 物件中縮放某些列,我們可以按照以下步驟操作:

  • 首先,建立一個 data.table 物件。

  • 然後,使用單個方括號選擇列,並使用 lapply、list 和 scale 函式來縮放這些列。

示例

建立 data.table 物件

讓我們建立一個如下所示的 data.table 物件:

library(data.table)
var1<-rpois(25,5)
var2<-rpois(25,2)
var3<-rpois(25,5)
var4<-rpois(25,3)
DT<-data.table(var1,var2,var3,var4)
DT

輸出

執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同):

  var1 var2 var3 var4
1:   5    2  1   2
2:   3    5  4   2
3:   6    2  7   3
4:  10    3  5   3
5:   3    5  3   0
6:   4    1  6   2
7:   4    1  5   3
8:   3    1  6   0
9:   2    2  9   1
10:  2    1  6   6
11:  5    2  5   2
12:  3    1  2   3
13:  4    4  4   1
14:  8    0  5   2
15:  6    1  2   2
16:  4    3  3   3
17:  2    1  7   2
18:  8    2  7   3
19:  9    3  7   0
20:  6    2  6   4
21:  8    2  4   4
22:  4    0  3   2
23: 10    2  4   4
24:  5    3  6   7
25:  5    1  6   1
   var1 var2 var3 var4

縮放某些列

使用單個方括號選擇 var1 和 var2 列,並使用 lapply、list 和 scale 函式來縮放這些列,如下所示:

DT[,c("var1","var2"):=lapply(list(var1,var2),scale)]
DT

輸出

      var1         var2   var3 var4
1:  -0.06546537  0.0000000 1   2
2:  -0.88378246  2.2677868 4   2
3:   0.34369318  0.0000000 7   3
4:   1.98032735  0.7559289 5   3
5:  -0.88378246  2.2677868 3   0
6:  -0.47462391 -0.7559289 6   2
7:  -0.47462391 -0.7559289 5   3
8:  -0.88378246 -0.7559289 6   0
9:  -1.29294100  0.0000000 9   1
10: -1.29294100 -0.7559289 6   6
11: -0.06546537  0.0000000 5   2
12: -0.88378246 -0.7559289 2   3
13: -0.47462391  1.5118579 4   1
14:  1.16201027 -1.5118579 5   2
15:  0.34369318 -0.7559289 2   2
16: -0.47462391  0.7559289 3   3
17: -1.29294100 -0.7559289 7   2
18:  1.16201027  0.0000000 7   3
19:  1.57116881  0.7559289 7   0
20:  0.34369318  0.0000000 6   4
21:  1.16201027  0.0000000 4   4
22: -0.47462391 -1.5118579 3   2
23:  1.98032735  0.0000000 4   4
24: -0.06546537  0.7559289 6   7
25: -0.06546537 -0.7559289 6   1
        var1        var2  var3 var4

更新於:2021 年 11 月 11 日

354 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.