如何按R中的行标准差划分data.table对象行?
要将行值除以Rdata.table对象中的行标准差,我们可以按照以下步骤操作-
首先,创建一个data.table对象。
然后,使用应用函数将data.table对象行值除以行标准差。
创建data.table对象
例子
让我们创建一个data.table对象,如下所示-
> library(data.table) > x<-sample(1:100,25) > y<-sample(1:100,25) > DT<-data.table(x,y) > DT
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x y 1: 45 18 2: 3 99 3: 74 96 4: 67 58 5: 82 24 6: 26 56 7: 93 9 8: 18 22 9: 54 77 10: 96 91 11: 44 30 12: 75 7 13: 100 15 14: 47 25 15: 33 48 16: 37 94 17: 85 73 18: 53 100 19: 66 80 20: 57 89 21: 56 87 22: 11 54 23: 61 26 24: 68 1 25: 38 45 x y
将data.table行值除以行标准差
例子
使用应用函数将DT的行值除以行标准差-
> library(data.table) > x<-sample(1:100,25) > y<-sample(1:100,25) > DT<-data.table(x,y) > DT_new<-t(apply(DT,1, function(x) x/sd(x))) > DT_new
输出
x y [1,] 2.35702260 0.94280904 [2,] 0.04419417 1.45840774 [3,] 4.75690016 6.17111373 [4,] 10.52803430 9.11382074 [5,] 1.99940538 0.58519182 [6,] 1.22565175 2.63986532 [7,] 1.56573644 0.15152288 [8,] 6.36396103 7.77817459 [9,] 3.32032749 4.73454106 [10,] 27.15290040 25.73868684 [11,] 4.44467120 3.03045763 [12,] 1.55979437 0.14558081 [13,] 1.66378066 0.24956710 [14,] 3.02127443 1.60706087 [15,] 3.11126984 4.52548340 [16,] 0.91799828 2.33221184 [17,] 10.01734607 8.60313250 [18,] 1.59475146 3.00896503 [19,] 6.66700679 8.08122036 [20,] 2.51906791 3.93328147 [21,] 2.55470837 3.96892193 [22,] 0.36177556 1.77598912 [23,] 2.46477221 1.05055865 [24,] 1.43532123 0.02110767 [25,] 7.67715934 9.09137290