J'ai une liste contenant des listes et des NAS. Je voudrais filtrer la NAS, mais je ne connais pas le nom exact ou la position de la NAS.
J'ai beaucoup googlé, mais seulement comment éliminer les éléments par nom ou en indexation, mais ce n'est pas Ce que je cherche. p>
Voici un exemple de la façon dont ma liste ressemble à: p> Ma sortie ressemble à ceci: p> < Pré> xxx pré> J'aimerais écrire une boucle qui supprime un élément de ma liste si la valeur est "na" ou que le type est "logique". Merci d'avance pour votre aide! P> P>
3 Réponses :
Vous pouvez utiliser quelle fonction code> pour trouver l'index des éléments
na / code> et ensuite les supprimer par index:
Merci pour votre réponse rapide! Je ne sais pas vraiment comment tbh, qui (exemple $ valeur == na) code> ne fonctionne pas. Pourriez-vous me donner un indice?
Vous devez utiliser Is.na ().
Merci beaucoup! :-)
Vous n'avez pas besoin du quel code>, et peut simplement utiliser
exemple [! Is.na (exemple)] code>.
@Jakekaupp, c'est vrai, mais je pense qu'il est bon de suggérer différentes réponses sur ce site et de discuter des avantages et des inconvénients de chaque solution
Je suis d'accord, c'est pourquoi j'ai commenté. Étant donné que is.na code> produit déjà un tableau logique pour le sous-ensemble dans ce problème, la conversion d'un indice numérique est un peu superflu.
Si c'est une réponse à votre question, vous pouvez l'accepter!
Merci pour toutes vos réponses, vous êtes génial! :-)
Cela dépend de votre structure de données. Avec votre exemple, ce qui suit fonctionnera:
example[!is.na(example) & !is.logical(example)]
Celui-ci est une méthode simple pour supprimer les valeurs NA de la liste R P>
exemple <- exemple [! is.na (exemple)] code> p>