2013-05-24 5 views
1

Ceci est une question simple, comment puis-je savoir quel élément dans une liste numérique est inférieur à un numéro n, par exemple dans cet exemple factice, comment obtenir les éléments avec moins de 5 éléments?supprimer des éléments dans une liste avec moins de n

list <- list(A=1:5, B=1, C=1:2, D=1, e=5:10) 

La sortie souhaitée sera les noms des éléments (B, C et D)

Merci

+0

(http://whathaveyoutried.com) –

+2

un coup d'oeil à la 'apply' famille de fonctions [Qu'est-ce, exactement, avez-vous essayé?]. spécifiquement «lappy» qui va appliquer une fonction à chaque élément d'une liste. On dirait que vous voulez la fonction 'longueur '. Je suggère également de passer un peu de temps avec quelques-uns des guides R en ligne pour vous familiariser avec la langue. – Justin

+0

Mon erreur, 'lapply (liste, longueur)' fonctionne parfaitement – user2380782

Répondre

3

Avec ce que vous avez des commentaires de Justin que vous y êtes presque. Vous pouvez ensuite utiliser la fonction which pour obtenir les indices de chaque élément de la liste inférieur à 5, ainsi que les noms. La fonction names vous donne ensuite les noms:

names(which(lapply(list, length)<5)) 
+0

Aussi juste 'noms (liste) [longueurs (liste) <5]' –

Questions connexes