Comment supprimer la dernière ligne d’un bloc de données à l’aide de dplyr



Vous pouvez utiliser les méthodes suivantes pour supprimer la dernière ligne d’un bloc de données dans R :

Méthode 1 : supprimer la dernière ligne du bloc de données

library(dplyr)

#remove last row from data frame
df <- df %>% filter(row_number() <= n()-1)

Méthode 2 : supprimer les N dernières lignes du bloc de données

library(dplyr)

#remove last four rows  from data frame
df <- df %>% filter(row_number() <= n()-4)

Remarque : La fonction n() extrait le nombre total de lignes dans le bloc de données.

En utilisant row_number() <= n() , nous spécifions que nous souhaitons filtrer le bloc de données pour qu’il ne contienne que les lignes dont le numéro de ligne est inférieur au nombre total de lignes avec un certain nombre soustrait.

Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 points=c(18, 13, 19, 14, 24, 21, 20, 28),
                 assists=c(5, 7, 17, 9, 12, 9, 5, 12))

#view data frame
df

  team points assists
1    A     18       5
2    A     13       7
3    A     19      17
4    B     14       9
5    B     24      12
6    C     21       9
7    C     20       5
8    C     28      12

Exemple 1 : Supprimer la dernière ligne du bloc de données

Le code suivant montre comment supprimer la dernière ligne du bloc de données :

library(dplyr)

#remove last row from data frame
df <- df %>% filter(row_number() <= n()-1)

#view updated data frame
df

  team points assists
1    A     18       5
2    A     13       7
3    A     19      17
4    B     14       9
5    B     24      12
6    C     21       9
7    C     20       5

Notez que la dernière ligne du bloc de données a été supprimée.

Exemple 2 : Supprimer les N dernières lignes du bloc de données

Le code suivant montre comment supprimer les quatre dernières lignes du bloc de données :

library(dplyr)

#remove last four rows from data frame
df <- df %>% filter(row_number() <= n()-4)

#view updated data frame
df

  team points assists
1    A     18       5
2    A     13       7
3    A     19      17
4    B     14       9

Notez que les quatre dernières lignes du bloc de données ont été supprimées.

Remarque : Pour supprimer un nombre différent de lignes à partir de la fin du bloc de données, remplacez simplement le 4 dans le code par un nombre différent.

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans dplyr :

Comment sélectionner des colonnes par index à l’aide de dplyr
Comment classer les variables par groupe à l’aide de dplyr
Comment remplacer NA par Zero dans dplyr

Ajouter un commentaire

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