如何在R中的data.table对象中按行平均值划分行值?

要将行值除以 Rdata.table对象中的行平均值,我们可以按照以下步骤操作 -

  • 首先,创建一个data.table对象。

  • 然后,使用 apply 函数将data.table对象行值除以行平均值。

创建数据框

library(data.table)

x<-sample(1:50,25)

y<-sample(1:50,25)

z<-sample(1:50,25)

DT<-data.table(x,y,z)

DT

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

     x y  z

1:  26 34 16

2:  2  23 40

3:  23 9  37

4:  24 14 22

5:  4  20 33

6:  35 38 47

7:  21 3  10

8:  34 41 13

9:  42 33 35

10: 15 7  4

11: 18 1  23

12: 45 4  49

13: 11 8  19

14: 50 49  5

15: 13 39  9

16: 12 21 46

17: 20 29 42

18: 28 32 38

19: 25 47 32

20: 32 22 20

21: 46 45 43

22: 6 15  31

23: 22 48 29

24: 30 5  17

25: 27 46 44

    x  y  z

data.table按行平均值划分对象行值

使用应用函数将 DT 的行值除以行平均值 -

library(data.table)

x<-sample(1:50,25)

y<-sample(1:50,25)

z<-sample(1:50,25)

DT<-data.table(x,y,z)

DT_new<-t(apply(DT,1, function(x) x/mean(x)))

DT_new

输出

         x          y          z

[1,] 1.02631579 1.34210526 0.6315789

[2,] 0.09230769 1.06153846 1.8461538

[3,] 1.00000000 0.39130435 1.6086957

[4,] 1.20000000 0.70000000 1.1000000

[5,] 0.21052632 1.05263158 1.7368421

[6,] 0.87500000 0.95000000 1.1750000

[7,] 1.85294118 0.26470588 0.8823529

[8,] 1.15909091 1.39772727 0.4431818

[9,] 1.14545455 0.90000000 0.9545455

[10,] 1.73076923 0.80769231 0.4615385

[11,] 1.28571429 0.07142857 1.6428571

[12,] 1.37755102 0.12244898 1.5000000

[13,] 0.86842105 0.63157895 1.5000000

[14,] 1.44230769 1.41346154 0.1442308

[15,] 0.63934426 1.91803279 0.4426230

[16,] 0.45569620 0.79746835 1.7468354

[17,] 0.65934066 0.95604396 1.3846154

[18,] 0.85714286 0.97959184 1.1632653

[19,] 0.72115385 1.35576923 0.9230769

[20,] 1.29729730 0.89189189 0.8108108

[21,] 1.02985075 1.00746269 0.9626866

[22,] 0.34615385 0.86538462 1.7884615

[23,] 0.66666667 1.45454545 0.8787879

[24,] 1.73076923 0.28846154 0.9807692

[25,] 0.69230769 1.17948718 1.1282051

以上是 如何在R中的data.table对象中按行平均值划分行值? 的全部内容, 来源链接: utcz.com/z/320260.html

回到顶部