Comment sous-ensemble à partir d'une liste dans la R
J'ai une assez simple tâche, mais n'ai pas trouvé une bonne solution.
> mylist
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
[[2]]
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
[[3]]
[1] 25 26 27 28 29 30 31 32
y <- c(3,5,9)
J'aimerais extraire de maliste les sous-éléments de 3,5 et 9 de chaque composant dans la liste.
J'ai essayé, sapply[mylist,"[[",y]
mais pas de chance!, et d'autres comme vapply, lapply, etc.. Merci d'avance pour votre aide
Mauricio Ortiz
InformationsquelleAutor user1257894 | 2012-03-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
sapply(mylist, "[", y)
:Essayez d'utiliser
[
au lieu de[[
(et selon ce que vous êtes après de la lumière voulez vraimentlapply
).De
?'[['
:À l'aide de
lapply
:purrr fournit une autre solution pour la résolution de ces types de la liste des manipulations à l'intérieur de la tidyverse
Je ne pense pas que sgibb réponse que donne ce que vous voulez. Je suggère de faire une nouvelle fonction:
Alors vous pouvez l'utiliser comme ceci:
Ces deux donner
qui est ce que vous voulez, je pense.
Il y a de meilleures façons de le faire, mais voici une solution rapide.
lapply
, pour l'instant, cette solution n'est pas adaptée à tous quandmylist
devient plus grande.