仅使用值将命名列表转换为向量

我有一个命名值的列表:

myList <- list('A' = 1, 'B' = 2, 'C' = 3)

我想要一个值为 1:3的向量

我不知道如何在不定义函数的情况下提取值。还有什么我不知道的简单方法吗?

library(plyr)
myvector <- laply(myList, function(x) x)

是否有类似于 myList$Values的东西去掉名称并将其作为向量返回?

133842 次浏览

Use unlist with use.names = FALSE argument.

unlist(myList, use.names=FALSE)

purrr::flatten_*() is also a good option. the flatten_* functions add thin sanity checks and ensure type safety.

myList <- list('A'=1, 'B'=2, 'C'=3)


purrr::flatten_dbl(myList)
## [1] 1 2 3

This can be done by using unlist before as.vector. The result is the same as using the parameter use.names=FALSE.

as.vector(unlist(myList))