如何将数据框值转换为它们在 R 中的等级?

要将数据框值转换为它们在 R 中的等级,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用带有 lapply 的 rank 函数找到每个值的等级。

创建数据框

让我们创建一个数据框,如下所示 -

例子

> x1<-rnorm(20)
> y1<-rnorm(20)
> df<-data.frame(x1,y1)
> df

执行时,上面的脚本会生成以下输出(由于随机化,此输出会因您的系统而异) -

输出结果

           x1          y1
1  -0.9045608  1.95315551
2  -1.6222122 -1.19880638
3   0.8618855 -0.33643175
4  -0.3547085 -0.18097356
5  -0.3043621 -0.60342210
6   0.5606001 -0.83618995
7  -1.1752752 -0.46651702
8   0.2009474 -0.39482238
9   0.3595199 -0.59964119
10 -0.6007706 -0.01499288
11  0.1972236  1.44063062
12  1.0988526  0.17336280
13  1.0016738  2.27343055
14  2.6411272 -0.21273651
15 -1.1907730  0.88769339
16  1.0993620  1.57416767
17 -0.6732082  2.44837538
18  2.7868490 -0.46566411
19  0.9185654 -1.51994397
20 -1.2386102  1.34563437

将数据框值转换为它们的等级

使用 rank 函数和 lapply 函数来查找数据框 df 中每个值的秩 -

例子

> df[]<-lapply(-df,rank,ties.method="min")
> df
输出结果
   x1 y1
1  16  3
2  20 19
3   7 12
4  13 10
5  12 17
6   8 18
7  17 15
8  10 13
9   9 16
10 14  9
11 11  5
12  4  8
13  5  2
14  2 11
15 18  7
16  3  4
17 15  1
18  1 14
19  6 20
20 19  6

猜你喜欢