如何在 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

更新日期: 13-8-2021

169 次观看

开启您的 职业

通过完成课程获得认证

立即开始
广告