Comment sélectionner des lignes de trames de données par nom à l’aide de dplyr
Vous pouvez utiliser la syntaxe suivante pour sélectionner les lignes d’un bloc de données par nom à l’aide de dplyr :
library(dplyr) #select rows by name df %>% filter(row.names(df) %in% c('name1', 'name2', 'name3'))
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : sélectionner des lignes par nom à l’aide de dplyr
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame
df <- data.frame(points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set row names
row.names(df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')
#view data frame
df
points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28
Nous pouvons utiliser le code suivant pour sélectionner les lignes dont le nom de ligne est égal à Hawks, Cavs ou Heat :
library(dplyr)
#select specific rows by name
df %>%
filter(row.names(df) %in% c('Hawks', 'Cavs', 'Heat'))
points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28
Notez que dplyr renvoie uniquement les lignes dont les noms sont dans le vecteur que nous avons fourni à la fonction filter() .
Notez également que vous pouvez utiliser un point d’exclamation ( ! ) pour sélectionner toutes les lignes dont les noms ne sont pas dans un vecteur :
library(dplyr)
#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
filter(!(row.names(df) %in% c('Hawks', 'Cavs', 'Heat')))
points assists rebounds
Mavs 99 33 30
Lakers 88 39 24
Notez que dplyr renvoie uniquement les lignes dont les noms ne figurent pas dans le vecteur que nous avons fourni à la fonction filter() .
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