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

更新于: 2021 年 8 月 13 日

200 次浏览

开启您的事业

通过完成此课程获得认证

开始学习
广告