如果某些列在 R 数据框中是分类的,如何在列中找到每个值的排名?

如果某些列在 R 数据框中属于分类列,要查找列中每个值的排名,我们可以按照以下步骤操作 -

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

  • 然后,如果某些列是分类的,则使用 plyr 包中的 numcolwise 函数来查找列中每个值的排名。

示例

创建数据框

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

Level<-sample(c("low","medium","high"),25,replace=TRUE)

Group<-sample(c("first","second"),25,replace=TRUE)

DV1<-rnorm(25)

DV2<-rnorm(25)

df<-data.frame(Level,Group,DV1,DV2)

df

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

   Level  Group     DV1           DV2

1  medium first  -0.15444635   0.44771691

2  low    first   0.64594002   0.70918039

3  medium first   0.11612343  -0.46156286

4  medium second -2.07505385  -0.19145800

5  medium first   0.91928571   0.80887669

6  medium first   0.71592841   0.16538757

7  high   second -1.45712679   0.40105329

8  high   second -0.57098794   0.97701583

9  high   second -0.55531986   0.52548578

10 medium first   0.21788069  -0.89447993

11 low    second  0.13378146  -1.54879981

12 low    first  -1.25162532   0.21650691

13 low    second  0.14558721   1.24260380

14 medium second  0.93689245   0.34528017

15 high   second -1.25450836   0.34797171

16 low    second -0.38612538   0.31359466

17 high   first   2.70415465   0.73713265

18 high   second -0.12480067   0.37259163

19 high   second  0.78704330  -0.35841561

20 low    first   0.81727351  -0.74304509

21 medium second  0.61382411  -0.40644606

22 low    first   0.39757586  -2.33494132

23 high   second -2.07106056  -0.90051548

24 high   second -0.08953589   0.09631326

25 high   second  0.65695959  -1.10357835

如果某些列是分类列,则查找列中每个值的排名

如果某些列在数据框 df 中是分类列,则使用 plyr 包中的 numcolwise 函数查找列中每个值的排名 -

Level<-sample(c("low","medium","high"),25,replace=TRUE)

Group<-sample(c("first","second"),25,replace=TRUE)

DV1<-rnorm(25)

DV2<-rnorm(25)

df<-data.frame(Level,Group,DV1,DV2)

library(plyr)

numcolwise(rank)(df)

输出结果
  DV1 DV2

1  11 15

2   5  3

3  15  5

4  23 23

5   8 17

6   4 11

7  17 10

8  16 21

9   7 24

10  6 14

11 14  1

12 10  9

13 19 19

14 22 12

15  9 16

16 20  2

17 18 22

18 21 18

19 13  7

20  2 25

21  1 20

22 24  6

23  3 13

24 12  8

25 25  4

以上是 如果某些列在 R 数据框中是分类的,如何在列中找到每个值的排名? 的全部内容, 来源链接: utcz.com/z/331656.html

回到顶部