如何在 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.