如何在 R 中标准化数据表对象中选定的列?
要标准化 R 中 data.table 对象的选定列,我们可以按照以下步骤进行操作 −
首先,创建一个 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
输出
执行后,上述脚本将生成以下输出(此输出由于随机化而因系统而异) −
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
广告