0
votes

R: Comment supprimer l'élément de la liste par valeur ou type

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.

Voici un exemple de la façon dont ma liste ressemble à: xxx

Ma sortie ressemble à ceci: < Pré> xxx

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!


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser quelle fonction pour trouver l'index des éléments na / code> et ensuite les supprimer par index: xxx


8 commentaires

Merci pour votre réponse rapide! Je ne sais pas vraiment comment tbh, qui (exemple $ valeur == na) ne fonctionne pas. Pourriez-vous me donner un indice?


Vous devez utiliser Is.na ().


Merci beaucoup! :-)


Vous n'avez pas besoin du quel , et peut simplement utiliser exemple [! Is.na (exemple)] .


@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 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! :-)



1
votes

Cela dépend de votre structure de données. Avec votre exemple, ce qui suit fonctionnera:

example[!is.na(example) & !is.logical(example)]


0 commentaires

1
votes

Celui-ci est une méthode simple pour supprimer les valeurs NA de la liste R

exemple <- exemple [! is.na (exemple)]


0 commentaires