如何将数据框值转换为它们在 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