如何按行最大值划分 R 中的 data.table 对象行?
要将行值除以Rdata.table对象中的行最大值,我们可以按照以下步骤操作-
首先,创建一个data.table对象。
然后,使用apply函数将data.table对象行值除以行最大值。
创建数据框
让我们创建一个数据框,如下所示-
library(data.table) x<-rpois(25,5) y<-rpois(25,10) DT<-data.table(x,y) DT
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
x y 1: 6 6 2: 8 14 3: 3 10 4: 5 8 5: 7 6 6: 5 13 7: 6 10 8: 0 12 9: 1 9 10: 5 7 11: 11 14 12: 7 14 13: 4 8 14: 1 9 15: 7 13 16: 2 12 17: 5 5 18: 5 8 19: 1 12 20: 2 7 21: 5 17 22: 6 7 23: 3 11 24: 5 12 25: 5 12 x y
将data.table对象行值除以行最大值
使用应用函数将DT的行值除以行最大值-
library(data.table) x<-rpois(25,5) y<-rpois(25,10) DT<-data.table(x,y) DT_new<-t(apply(DT,1, function(x) x/max(x))) DT_new
输出
x y [1,] 1.00000000 1.0000000 [2,] 0.57142857 1.0000000 [3,] 0.30000000 1.0000000 [4,] 0.62500000 1.0000000 [5,] 1.00000000 0.8571429 [6,] 0.38461538 1.0000000 [7,] 0.60000000 1.0000000 [8,] 0.00000000 1.0000000 [9,] 0.11111111 1.0000000 [10,] 0.71428571 1.0000000 [11,] 0.78571429 1.0000000 [12,] 0.50000000 1.0000000 [13,] 0.50000000 1.0000000 [14,] 0.11111111 1.0000000 [15,] 0.53846154 1.0000000 [16,] 0.16666667 1.0000000 [17,] 1.00000000 1.0000000 [18,] 0.62500000 1.0000000 [19,] 0.08333333 1.0000000 [20,] 0.28571429 1.0000000 [21,] 0.29411765 1.0000000 [22,] 0.85714286 1.0000000 [23,] 0.27272727 1.0000000 [24,] 0.41666667 1.0000000 [25,] 0.41666667 1.0000000