如何在 R 中按行最小值划分数据框行?
要在 R 中按行最小值划分数据框行值,我们可以按照以下步骤操作:
- 首先,创建一个数据框。
- 然后,使用 apply 函数按行最小值划分数据框行值。
创建数据框
我们创建一个如下所示的数据框:
x<-round(rnorm(25,25,8),0) y<-round(rnorm(25,25,8),0) df<-data.frame(x,y) df
执行上述脚本后,将生成以下输出(由于随机化,此输出在系统上会有所不同):
x y 1 37 25 2 23 24 3 10 20 4 27 22 5 32 43 6 7 25 7 29 33 8 7 29 9 17 19 10 15 19 11 37 24 12 22 14 13 29 23 14 17 12 15 26 17 16 37 11 17 21 22 18 20 38 19 20 20 20 28 29 21 18 24 22 31 23 23 43 14 24 24 30 25 16 19
按行最小值划分数据框行值
使用 apply 函数按行最小值划分 df 的行值:
x<-round(rnorm(25,25,8),0) y<-round(rnorm(25,25,8),0) df<-data.frame(x,y) df_new<-t(apply(df,1, function(x) x/min(x))) df_new
输出
x y [1,] 1.480000 1.000000 [2,] 1.000000 1.043478 [3,] 1.000000 2.000000 [4,] 1.227273 1.000000 [5,] 1.000000 1.343750 [6,] 1.000000 3.571429 [7,] 1.000000 1.137931 [8,] 1.000000 4.142857 [9,] 1.000000 1.117647 [10,] 1.000000 1.266667 [11,] 1.541667 1.000000 [12,] 1.571429 1.000000 [13,] 1.260870 1.000000 [14,] 1.416667 1.000000 [15,] 1.529412 1.000000 [16,] 3.363636 1.000000 [17,] 1.000000 1.047619 [18,] 1.000000 1.900000 [19,] 1.000000 1.000000 [20,] 1.000000 1.035714 [21,] 1.000000 1.333333 [22,] 1.347826 1.000000 [23,] 3.071429 1.000000 [24,] 1.000000 1.250000 [25,] 1.000000 1.187500
广告