Comment supprimer des lignes avec inf à partir d'une image de données dans R
J'ai une très grande dataframe(df) avec environ 35-45 colonnes(variables) et des lignes de plus de 300. Certaines des lignes contient NA,NaN,Inf,-Inf valeurs dans un seul ou plusieurs variables, et j'ai utilisé
na.omit(df)
pour supprimer les lignes avec NA et NaN, mais je ne peux pas supprimer les lignes avec l'Inf et -Inf valeurs à l'aide na.omettre fonction.
En cherchant je suis tombé sur ce thread Supprimer les lignes avec l'Inf et NaN dans la R et utilisé le code modifié df[is.finite(df)]
mais ce n'est pas en supprimant les lignes avec l'Inf et -Inf et donne aussi cette erreur
Erreur dans l'est.finies(df) : méthode par défaut pas mis en œuvre pour le type
'liste'
ÉDITÉ
Supprimer la ligne entière, même le correspondant d'un ou de plusieurs colonnes ont inf et -inf
source d'informationauteur Eka | 2016-04-13
Vous devez vous connecter pour publier un commentaire.
Pour supprimer les lignes avec +/-
Inf
je vous suggère le texte suivant:ou, de manière équivalente,
La deuxième option (l'un avec
is.finite()
et sans la négation) supprime également les lignes contenantNA
valeurs dans le cas où cela n'a pas déjà été fait.La
is.finite
fonctionne survector
et pas surdata.frame
objet. Donc, on peut faire une boucle par ladata.frame
à l'aide delapply
et obtenir seulement le 'fini' valeurs.Si le nombre de
Inf
-Inf
valeurs sont différentes pour chaque colonne, le code ci-dessus ont unlist
avec des éléments ayant inégalelength
. Donc, il peut être mieux de laisser comme unlist
. Si nous voulons undata.frame
il doit avoir des longueurs égales.Si nous voulons supprimer des lignes contiennent tout NA ou Inf/-Inf valeurs
Ou un compact option par @nicola
Si nous sommes prêts à utiliser un paquet, un compact option serait
NaRV.omit
de données
De garder les lignes sans
Inf
nous pouvons faire:Aussi
NA
s sont gérés par ce parce que:un rowindex avec la valeur
NA
va supprimer cette ligne dans le résultat.Également des lignes avec
NaN
ne sont pas dans le résultat.Voici les résultats des différentes
is.~
-fonctions: