将列表转换为向量的更好方法?

时间:2013-06-13 18:49:09

标签: r

我有一个命名值列表:

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

我想要一个值为1:3

的向量

我无法弄清楚如何在不定义函数的情况下提取值。有没有一种我不知道的简单方法?

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

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

3 个答案:

答案 0 :(得分:70)

unlistuse.names = FALSE参数一起使用。

unlist(myList, use.names=FALSE)

答案 1 :(得分:14)

purrr::flatten_*()也是一个不错的选择。 flatten_*函数添加了薄的健全性检查并确保类型安全。

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

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

答案 2 :(得分:0)

这可以通过使用unlist befor as.vector来完成。 结果与使用参数use.names = FALSE

相同。
as.vector(unlist(myList))