Comment trouver la valeur maximale dans chaque ligne dans R



Vous pouvez utiliser la syntaxe de base suivante pour trouver la valeur maximale dans chaque ligne d’un bloc de données dans R :

df$max <- apply(df, 1, max, na.rm=TRUE)

Cette syntaxe particulière crée une nouvelle colonne appelée max qui contient la valeur max dans chaque ligne du bloc de données.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : trouver la valeur maximale dans chaque ligne de R

Supposons que nous ayons le bloc de données suivant dans R :

#create data frame
df <- data.frame(points=c(4, NA, 10, 2, 15, NA, 7, 22),
                 rebounds=c(NA, 3, 9, 7, 6, 8, 14, 10),
                 assists=c(10, 9, 4, 4, 3, 7, 10, 11))

#view data frame
df

  points rebounds assists
1      4       NA      10
2     NA        3       9
3     10        9       4
4      2        7       4
5     15        6       3
6     NA        8       7
7      7       14      10
8     22       10      11

Nous pouvons utiliser la syntaxe suivante pour créer une nouvelle colonne appelée max qui contient la valeur max dans chaque ligne :

#add new column that contains max value in each row
df$max <- apply(df, 1, max, na.rm=TRUE)

#view updated data frame
df

  points rebounds assists max
1      4       NA      10  10
2     NA        3       9   9
3     10        9       4  10
4      2        7       4   7
5     15        6       3  15
6     NA        8       7   8
7      7       14      10  14
8     22       10      11  22

La nouvelle colonne appelée max contient la valeur maximale dans chaque ligne.

Remarque : Si vous n’incluez pas na.rm=TRUE dans la fonction apply() , alors les valeurs NA seront renvoyées si elles existent n’importe où dans la ligne.

Ressources additionnelles

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

Comment calculer la moyenne par groupe dans R
Comment faire la moyenne sur les colonnes dans R
Comment additionner des colonnes spécifiques dans R

Ajouter un commentaire

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