如何在 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 次觀看

開啟您的 職業

透過完成課程獲得認證

立即開始
廣告