Comment utiliser la fonction slice() dans dplyr (avec exemples)



Vous pouvez utiliser la fonction slice() du package dplyr dans R pour créer des sous-ensembles de lignes en fonction de leurs emplacements d’entiers.

Vous pouvez utiliser les méthodes suivantes pour sous-ensembler certaines lignes dans un bloc de données :

Méthode 1 : sous-ensemble d’une ligne spécifique

#get row 3 only
df %>% slice(3)

Méthode 2 : sous-ensemble de plusieurs lignes

#get rows 2, 5, and 6
df %>% slice(2, 5, 6)

Méthode 3 : sous-ensemble d’une plage de lignes

#get rows 1 through 3
df %>% slice(1:3)

Méthode 4 : lignes de sous-ensemble par groupe

#get first row by group
df %>%
  group_by(var1) %>%
  slice(1)

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

#create dataset
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(1, 2, 3, 4, 5, 6, 7),
                 assists=c(1, 5, 2, 3, 2, 2, 0))

#view dataset
df

  team points assists
1    A      1       1
2    A      2       5
3    A      3       2
4    B      4       3
5    B      5       2
6    C      6       2
7    C      7       0

Exemple 1 : sous-ensemble d’une ligne spécifique

Le code suivant montre comment utiliser la fonction slice() pour sélectionner uniquement la ligne 3 dans le bloc de données :

#get row 3 only
df %>% slice(3)

  team points assists
1    A      3       2

Exemple 2 : sous-ensemble de plusieurs lignes

Le code suivant montre comment utiliser la fonction slice() pour sélectionner plusieurs lignes spécifiques dans le bloc de données :

#get rows 2, 5, and 6
df %>% slice(2, 5, 6)

  team points assists
1    A      2       5
2    B      5       2
3    C      6       2

Exemple 3 : sous-ensemble d’une plage de lignes

Le code suivant montre comment utiliser la fonction slice() pour sélectionner toutes les lignes comprises entre 1 et 3 :

#get rows 1 through 3
df %>% slice(1:3)

  team points assists
1    A      1       1
2    A      2       5
3    A      3       2

Exemple 4 : lignes de sous-ensemble par groupe

Le code suivant montre comment utiliser la fonction slice() pour sélectionner la première ligne de certains groupes :

#get first row by group
df %>%
  group_by(team) %>%
  slice(1)

# A tibble: 3 x 3
# Groups:   team [3]
  team  points assists
       
1 A          1       1
2 B          4       3
3 C          6       2

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes à l’aide de dplyr :

Comment supprimer des lignes à l’aide de dplyr
Comment organiser les lignes à l’aide de dplyr
Comment filtrer selon plusieurs conditions à l’aide de dplyr

Ajouter un commentaire

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