Comment calculer le rang centile dans R (2 exemples)



Le rang centile d’une valeur nous indique le pourcentage de valeurs dans un ensemble de données dont le classement est égal ou inférieur à une valeur donnée.

Vous pouvez utiliser les méthodes suivantes pour calculer le rang centile dans R :

Méthode 1 : calculer le classement centile pour l’ensemble de données

library(dplyr)

df %>%
  mutate(percent_rank = rank(x)/length(x))

Méthode 2 : calculer le classement centile par groupe

library(dplyr)

df %>%
  group_by(group_var) %>%
  mutate(percent_rank = rank(x)/length(x))

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=rep(c('A', 'B'), each=7),
                 points=c(2, 5, 5, 7, 9, 13, 15, 17, 22, 24, 30, 31, 38, 39))

#view data frame
df

   team points
1     A      2
2     A      5
3     A      5
4     A      7
5     A      9
6     A     13
7     A     15
8     B     17
9     B     22
10    B     24
11    B     30
12    B     31
13    B     38
14    B     39

Exemple 1 : calculer le classement centile pour l’ensemble de données

Le code suivant montre comment utiliser les fonctions du package dplyr dans R pour calculer le rang centile de chaque valeur dans la colonne de points :

library(dplyr)

#calculate percentile rank of points values
df %>%
  mutate(percent_rank = rank(points)/length(points))

   team points percent_rank
1     A      2   0.07142857
2     A      5   0.17857143
3     A      5   0.17857143
4     A      7   0.28571429
5     A      9   0.35714286
6     A     13   0.42857143
7     A     15   0.50000000
8     B     17   0.57142857
9     B     22   0.64285714
10    B     24   0.71428571
11    B     30   0.78571429
12    B     31   0.85714286
13    B     38   0.92857143
14    B     39   1.00000000

Voici comment interpréter les valeurs de la colonne percent_rank :

  • 7,14% des valeurs de points sont égales ou inférieures à 2.
  • 17,86% des valeurs de points sont égales ou inférieures à 5.
  • 28,57% des valeurs de points sont égales ou inférieures à 7.

Et ainsi de suite.

Exemple 2 : calculer le classement centile par groupe

Le code suivant montre comment utiliser les fonctions du package dplyr dans R pour calculer le rang centile de chaque valeur dans la colonne des points, regroupés par équipe :

library(dplyr)

#calculate percentile rank of points values grouped by team
df %>%
  group_by(team) %>%
  mutate(percent_rank = rank(points)/length(points))

# A tibble: 14 x 3
# Groups:   team [2]
   team  points percent_rank
             
 1 A          2        0.143
 2 A          5        0.357
 3 A          5        0.357
 4 A          7        0.571
 5 A          9        0.714
 6 A         13        0.857
 7 A         15        1    
 8 B         17        0.143
 9 B         22        0.286
10 B         24        0.429
11 B         30        0.571
12 B         31        0.714
13 B         38        0.857
14 B         39        1   

Voici comment interpréter les valeurs de la colonne percent_rank :

  • 14,3% des valeurs de points de l’équipe A sont égales ou inférieures à 2.
  • 35,7% des valeurs de points de l’équipe A sont égales ou inférieures à 5.
  • 57,1% des valeurs de points de l’équipe A sont égales ou inférieures à 7.

Et ainsi de suite.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment calculer les centiles en R
Comment calculer les quartiles dans R
Comment calculer des quantiles par groupe dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *