如何在 R 中按行标准差对 data.table 对象的行进行划分?
为了按行标准差划分 R 的 data.table 对象的行值,我们可以遵循以下步骤 −
- 首先,创建一个 data.table 对象。
- 然后,使用 apply 函数按行标准差划分 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
执行后,上述脚本将生成以下输出(此输出会根据系统而有所不同,因为存在随机性) −
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 行值
使用 apply 函数按行标准差划分 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
广告