如何标准化R中data.table对象中的选定列?
要标准化data.tableR中对象中的选定列,我们可以按照以下步骤操作-
首先,创建一个data.table对象。
然后,使用带有子集的scale函数和cbind函数来标准化选定的列。
示例
创建data.table对象
让我们创建一个data.table对象,如下所示-
library(data.table) var1<-sample(1:10,25,replace=TRUE) var2<-sample(1:10,25,replace=TRUE) var3<-sample(1:10,25,replace=TRUE) DT<-data.table(var1,var2,var3) DT输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
var1 var2 var3
1: 8 10 3
2: 10 7 2
3: 2 8 2
4: 1 8 5
5: 5 7 6
6: 2 7 10
7: 7 6 2
8: 7 3 8
9: 4 2 9
10: 6 2 10
11: 8 8 9
12: 8 9 7
13: 1 9 10
14: 7 8 1
15: 4 6 5
16: 9 6 1
17: 10 2 5
18: 10 5 6
19: 5 6 2
20: 4 6 10
21: 5 9 10
22: 7 6 4
23: 3 5 4
24: 7 2 6
25: 1 2 3
var1 var2 var3标准化选定的列
使用带有子集的scale函数和cbind函数来标准化data.table对象DT中的第2列和第3列-
library(data.table) var1<-sample(1:10,25,replace=TRUE) var2<-sample(1:10,25,replace=TRUE) var3<-sample(1:10,25,replace=TRUE) DT<-data.table(var1,var2,var3) DT[]<-cbind(DT[,1],scale(DT[,2:3])) DT输出结果
var1 var2 var3
1: 8 1.60028763 -0.8187877
2: 10 0.41195523 -1.1337060
3: 2 0.80806603 -1.1337060
4: 1 0.80806603 -0.1889510
5: 5 0.41195523 0.1259673
6: 2 0.41195523 1.3856406
7: 7 0.01584443 -1.1337060
8: 7 -1.17248797 0.7558040
9: 4 -1.56859877 1.0707223
10: 6 -1.56859877 1.3856406
11: 8 0.80806603 1.0707223
12: 8 1.20417683 0.4408857
13: 1 1.20417683 1.3856406
14: 7 0.80806603 -1.4486243
15: 4 0.01584443 -0.1889510
16: 9 0.01584443 -1.4486243
17: 10 -1.56859877 -0.1889510
18: 10 -0.38026637 0.1259673
19: 5 0.01584443 -1.1337060
20: 4 0.01584443 1.3856406
21: 5 1.20417683 1.3856406
22: 7 0.01584443 -0.5038693
23: 3 -0.38026637 -0.5038693
24: 7 -1.56859877 0.1259673
25: 1 -1.56859877 -0.8187877
var1 var2 var3