0
votes

Trouvez des index d'élément dans la liste qui satisfait une condition dans R

J'ai une liste (je l'ai nommée lst ) avec 150 éléments, dont certains contiennent 1 : xxx

Comment faire J'extrise les index de ces éléments contenant 1 . Le résultat serait 139 140 141 142 143 144 145 146 147 148 149 150 .

J'ai essayé:

Unkist (actif ( LST, fonction (x) si (x == 1) x))

r

4 commentaires

Essayez filtre (longueur, votre_list) pour obtenir tous les éléments qui ne sont pas entier (0)


Est-ce une liste avec des éléments de longueur une? Si oui, pourquoi ne pas le convertir en vecteur avant d'essayer de fonctionner dessus?


@Julian_hn si j'essaie AS.Vector (Unlist (LST)) Il suffit de supprimer le entier (0) éléments, donc pas bon


Du qui (votre_list == 1)


3 Réponses :


0
votes

La partie délicate est à cause de entier (0) éléments. Nous pouvons utiliser tout.equal xxx


0 commentaires

2
votes

fera, @ronak. Opérateurs logiques (c.-à-d., == ) Rechercher dans le premier "niveau" d'une liste et quel renvoie les positions qui sont true : < Pré> xxx


0 commentaires

0
votes

Nous pouvons utiliser seequal . Devrait également fonctionner lorsque les longueurs de vecteur sont supérieures à 1 pour chaque liste élément xxx

ou avec carte de Purrr < / code> xxx


ou une autre option est longueurs xxx


0 commentaires