Ik heb een lijst met benoemde waarden:
myList <- list('A' = 1, 'B' = 2, 'C' = 3)
Ik wil een vector met de waarde 1:3
Ik weet niet hoe ik de waarden kan extraheren zonder een functie te definiëren. Is er een eenvoudigere manier die ik niet ken?
library(plyr)
myvector <- laply(myList, function(x) x)
Is er iets dat lijkt op myList$Values
om de namen te verwijderen en terug te sturen als vector?
Antwoord 1, autoriteit 100%
Gebruik unlist
met het argument use.names = FALSE
.
unlist(myList, use.names=FALSE)
Antwoord 2, autoriteit 16%
purrr::flatten_*()
is ook een goede optie. de flatten_*
functies voegen dunne sanity checks toe en zorgen voor typeveiligheid.
myList <- list('A'=1, 'B'=2, 'C'=3)
purrr::flatten_dbl(myList)
## [1] 1 2 3
Antwoord 3, autoriteit 4%
Dit kan worden gedaan door unlist
te gebruiken vóór as.vector
.
Het resultaat is hetzelfde als het gebruik van de parameter use.names=FALSE
.
as.vector(unlist(myList))