如何标准化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