Comment calculer des ratios dans R (avec des exemples)



Vous pouvez utiliser les méthodes suivantes pour calculer le rapport entre les valeurs de deux colonnes dans R :

Méthode 1 : utiliser Base R

#calculate ratio between variable1 and variable2
df$ratio <- df$variable1/df$variable1

#calculate ratio between variable1 and variable2, rounded to 2 decimal places
df$ratio <- round(df$variable1/df$variable2, 2)

Méthode 2 : utiliser dplyr

library(dplyr)

#calculate ratio between variable1 and variable2
df <- df %>%
        mutate(ratio = variable1/variable2)

#calculate ratio between variable1 and variable2, rounded to 2 decimal places
df <- df %>%
        mutate(ratio = round(variable1/variable2, 2))

Ce didacticiel explique comment utiliser chaque méthode en pratique avec le bloc de données suivant qui montre le nombre total de tirs effectués et tentés par différents joueurs de basket-ball :

#create data frame
df <- data.frame(players=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 makes=c(4, 4, 3, 6, 7, 8, 3, 10),
                 attempts=c(12, 7, 5, 6, 10, 12, 5, 19))

#view data frame
df

  players makes attempts
1       A     4       12
2       B     4        7
3       C     3        5
4       D     6        6
5       E     7       10
6       F     8       12
7       G     3        5
8       H    10       19

Exemple 1 : calculer des ratios en utilisant la base R

Le code suivant montre comment calculer le rapport entre les valeurs des colonnes de marques et de tentatives en utilisant la base R :

#calculate ratio between makes and attempts columns
df$ratio <- df$makes/df$attempts

#view updated data frame
df

  players makes attempts      ratio
1       A     4       12  0.3333333
2       B     4        7  0.5714286
3       C     3        5  0.6000000
4       D     6        6  1.0000000
5       E     7       10  0.7000000
6       F     8       12  0.6666667
7       G     3        5  0.6000000
8       H    10       19  0.5263158

Le rapport entre les tentatives et les tentatives pour le premier joueur est de 4/12 = 0,33 .

En d’autres termes, le premier joueur a réalisé environ 33 % de ses tentatives de tir.

Nous pouvons interpréter les valeurs du ratio pour tous les autres joueurs de la même manière.

On peut également utiliser la fonction round() pour arrondir les valeurs du ratio à un certain nombre de décimales :

#calculate ratio between makes and attempts columns, rounded to 2 decimal places
df$ratio <- round(df$makes/df$attempts, 2)

#view updated data frame
df

  players makes attempts ratio
1       A     4       12  0.33
2       B     4        7  0.57
3       C     3        5  0.60
4       D     6        6  1.00
5       E     7       10  0.70
6       F     8       12  0.67
7       G     3        5  0.60
8       H    10       19  0.53

Chacune des valeurs de la colonne ratio est désormais arrondie à deux décimales.

Exemple 2 : calculer des ratios à l’aide de dplyr

Le code suivant montre comment calculer le rapport entre les valeurs dans les colonnes de marques et de tentatives à l’aide du package dplyr :

library(dplyr)

#add new column that shows ratio of makes to attempts
df <- df %>%
        mutate(ratio = makes/attempts)

#view updated data frame
df

  players makes attempts      ratio
1       A     4       12  0.3333333
2       B     4        7  0.5714286
3       C     3        5  0.6000000
4       D     6        6  1.0000000
5       E     7       10  0.7000000
6       F     8       12  0.6666667
7       G     3        5  0.6000000
8       H    10       19  0.5263158

On peut également utiliser la fonction round() pour arrondir les valeurs du ratio à un certain nombre de décimales :

library(dplyr)

#add new column that shows ratio of makes to attempts, rounded to 2 decimal places
df <- df %>%
        mutate(ratio = round(makes/attempts, 2))

#view updated data frame
df

  players makes attempts ratio
1       A     4       12  0.33
2       B     4        7  0.57
3       C     3        5  0.60
4       D     6        6  1.00
5       E     7       10  0.70
6       F     8       12  0.67
7       G     3        5  0.60
8       H    10       19  0.53

Chacune des valeurs de la colonne ratio est désormais arrondie à deux décimales.

Notez que la méthode de base R et la méthode dplyr produisent les mêmes résultats.

Ressources additionnelles

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

Comment filtrer les valeurs uniques à l’aide de dplyr
Comment filtrer selon plusieurs conditions à l’aide de dplyr
Comment compter le nombre d’occurrences dans les colonnes de R

Ajouter un commentaire

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