Voici l'aperçu () de mon dataframe DF:
Observations: 221184
Variables:
$ Epsilon (fctr) 96002.txt, 96002.txt, 96004.txt, 96004.txt, 96005.txt, 960...
$ Value (int) 61914, 61887, 61680, 61649, 61776, 61800, 61753, 61725, 616...
Je veux filtrer (supprimer) toutes les observations avec les deux premiers niveaux d'Epsilon en utilisant dplyr.
Je veux dire:
DF %>% filter(Epsilon != "96002.txt" & Epsilon != "96004.txt")
Cependant, je ne veux pas utiliser les valeurs de chaîne (c.-à-d. "96002.txt" et "96004.txt") mais les ordres de niveau (c.-à-d. 1 et 2), car ce devrait être une instruction générale indépendante du niveau valeurs.
Vous pouvez facilement convertir un factor
en integer
, puis utiliser des conditions dessus. Remplacez simplement votre instruction filter
par:
filter(as.integer(Epsilon)>2)
Plus généralement, si vous avez un vecteur de niveau d'indices que vous souhaitez éliminer, vous pouvez essayer:
#some random levels we don't want
nonWantedLevels<-c(5,6,9,12,13)
#just the filter part
filter(!as.integer(Epsilon) %in% nonWantedLevels)