如何在R中的data.table对象中缩放某些列?
要data.table在 R 中缩放对象中的某些列,我们可以按照以下步骤操作 -
首先,创建一个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
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
var1 var2 var3 var41: 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 var41: -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
以上是 如何在R中的data.table对象中缩放某些列? 的全部内容, 来源链接: utcz.com/z/322646.html