Comment supprimer une colonne ou une ligne dans un dataframe avec le tidyverse et dplyr ?

Comme on est dans le {tidyverse}, on va utiliser les bons termes :

  • Nous allons utiliser le pipe pour rendre le code plus clair ( Le pipe, qu’est-ce que c’est ? )
  • On ne travaille plus avec des dataframes, mais avec des tibble: (tibble ou data.frame ?)
  • Et donc on ne supprime pas de ligne, mais on filtre les données en fonction d’une condition.

En effet, si vous souhaitez retirer des lignes de données, vous avez sûrement une bonne raison. Cette bonne raison se trouve dans les données elles-mêmes. Vous utilisez donc cette information pour filtrer les données.


library(dplyr)

iris %>%
filter(Species != "setosa")

Pour en savoir un peu plus sur la fonction filter: Comment filtrer un jeu de données avec dplyr ? : filter()

  • De même, on ne supprime pas de colonne, mais on sélectionne celles que l’on veut garder. Toutefois, avec le « helper » - (signe négatif), il est possible d’anti-sélectionner une colonne. Par ailleurs, il vaut mieux nommer la colonne que l’on veut retirer, même si c’est toujours possible de donner sa position (mais non recommandé pour la reproductibilité du code)

# Column
iris %>%
select(-Species)

iris %>%
select(-5)

Pour en savoir plus sur select, c’est par ici: Comment sélectionner des colonnes dans un data.frame ? select()

Enfin, pour un petit tutoriel sur {dplyr}, c’est par ici: Utiliser la grammaire dplyr pour triturer ses données