Comment supprimer des lignes dans R (avec exemples)
Vous pouvez utiliser la syntaxe suivante pour supprimer des numéros de ligne spécifiques dans R :
#remove 4th row new_df <- df[-c(4), ] #remove 2nd through 4th row new_df <- df[-c(2:4), ] #remove 1st, 2nd, and 4th row new_df <- df[-c(1, 2, 4), ]
Vous pouvez utiliser la syntaxe suivante pour supprimer les lignes qui ne répondent pas à des conditions spécifiques :
#only keep rows where col1 value is less than 10 and col2 value is less than 6 new_df <- subset(df, col1<10 & col2<6)
Et vous pouvez utiliser la syntaxe suivante pour supprimer les lignes avec une valeur NA dans n’importe quelle colonne :
#remove rows with NA value in any column new_df <- na.omit(df)
Les exemples suivants montrent comment utiliser chacune de ces fonctions dans la pratique.
Exemple 1 : Supprimer des lignes par numéro
Le code suivant montre comment supprimer des lignes par numéro de ligne spécifique dans R :
#create data frame df <- data.frame(player=c('A', 'B', 'C', 'D', 'E'), pts=c(17, 12, 8, 9, 25), rebs=c(3, 3, 6, 5, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player pts rebs blocks 1 A 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4 5 E 25 8 NA #remove 4th row df[-c(4), ] player pts rebs blocks 1 A 17 3 1 2 B 12 3 1 3 C 8 6 2 5 E 25 8 NA #remove 2nd through 4th row df[-c(2:4), ] player pts rebs blocks 1 A 17 3 1 5 E 25 8 NA #remove 1st, 2nd, and 4th row df[-c(1, 2, 4), ] player pts rebs blocks 3 C 8 6 2 5 E 25 8 NA
Exemple 2 : Supprimer des lignes par condition
Le code suivant montre comment supprimer les lignes qui ne remplissent pas une condition spécifique :
#create data frame df <- data.frame(player=c('A', 'B', 'C', 'D', 'E'), pts=c(17, 12, 8, 9, 25), rebs=c(3, 3, 6, 5, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player pts rebs blocks 1 A 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4 5 E 25 8 NA #only keep rows where pts is less than 10 and rebs is less than 6 subset(df, pts<10 & rebs<6) player pts rebs blocks 4 D 9 5 4
Exemple 3 : Supprimer les lignes avec des valeurs NA
Le code suivant montre comment supprimer les lignes avec une valeur NA dans n’importe quelle ligne :
#create data frame df <- data.frame(player=c('A', 'B', 'C', 'D', 'E'), pts=c(17, 12, 8, 9, 25), rebs=c(3, 3, 6, 5, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player pts rebs blocks 1 A 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4 5 E 25 8 NA #remove rows with NA value in any row: na.omit(df) player pts rebs blocks 1 A 17 3 1 2 B 12 3 1 3 C 8 6 2 4 D 9 5 4
Ressources additionnelles
Comment ajouter des lignes à un bloc de données dans R
Comment supprimer les lignes en double dans R
Comment additionner des lignes spécifiques dans R