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