在R中创建排名变量的有效方法

问题描述 投票:0回答:2

我想在我的数据框中创建几个排名变量。首先,我想最好的排名方式。

假设我有这样的数据

grp<-c(a,a,a,b,b,b)
val<-c(12,15,2,6,4,9)
df<-cbind(grp,val)

我希望对数据进行排名,以使排名不中断,但平均关系。像这样:(我使用df [order(df $ val),]排序数据))>

  grp val rk
2  sw   2  1
4  sl   4  2.5
8  sl   4  2.5
3  sw   6  3.5
7  sw   6  3.5
5  sl   9  4
1  sw  12  5
6  sl  15  6

我知道如何不中断顺序(通过使用density_rank)以及如何使平局平均(使用排名),但不知道如何同时获得两者。密集等级似乎没有任何参数可以让您指定如何处理领带。

我希望可以轻松地将其应用于多列。

我想在我的数据框中创建几个排名变量。首先,我想最好的排名方式。可以说我有类似grp的数据

r dataframe rank
2个回答
0
投票

使用data.table::frank()


0
投票

关于有序数据,一种方法是做:

© www.soinside.com 2019 - 2024. All rights reserved.