web-dev-qa-db-fra.com

Supprimer les lignes du cadre de données où une ligne correspond à une chaîne

Est-ce que je supprime toutes les lignes d'un cadre de données où une certaine ligne répond à un critère de correspondance de chaîne?

Par exemple:

A,B,C
4,3,Foo
2,3,Bar
7,5,Zap

Comment retourner un cadre de données excluant toutes les lignes où C = Foo:

A,B,C
2,3,Bar
7,5,Zap
54
Kyle Brandt

Utilisez simplement == Avec le symbole de négation (!). Si dtfm est le nom de votre data.frame:

dtfm[!dtfm$C == "Foo", ]

Ou, pour déplacer la négation dans la comparaison:

dtfm[dtfm$C != "Foo", ]

Ou, même plus court en utilisant subset():

subset(dtfm, C!="Foo")
103
Luciano Selzer

Vous pouvez utiliser le package dplyr pour supprimer facilement ces lignes particulières.

library(dplyr)
df <- filter(df, C != "Foo")
5

J'avais une colonne (A) dans un cadre de données avec 3 valeurs (oui, non, inconnu). Je voulais filtrer uniquement les lignes qui avaient une valeur "oui" pour laquelle ceci est le code, espérons que cela vous aidera aussi -

df <- df [(!(df$A=="no") & !(df$A=="unknown")),]
1
Pratik Honrao