将向量解包到列表中,向量的每个元素作为列表中的单独元素

时间:2012-06-09 12:12:22

标签: r list concatenation

使用以下代码,我创建了一个列表:

scales <- c(p="hye", r="t3")
details <- list(t=20,y="c", scales)

目前,上面给出了一个列表:

$t
[1] 20

$y  
[1] "c"

[[3]]
p     r 
"hye"  "t3"

但是我想要一个这样的列表:

$t
[1] 20

$y  
[1] "c"

$p      
[1] "hye"  

$r
[1] "t3"

由于这将在函数中重用,我想将scales作为向量参数保存,然后我可以将其插入到列表中。我怎么能这样做?

2 个答案:

答案 0 :(得分:5)

解决方案是:

details = c(list(t=20,y="c"),scales)

答案 1 :(得分:3)

您希望将c()两个列表连接起来,因此在形成as.list()之前使用scalesdetails向量转换为列表:

> details <- c(list(t=20, y="c"), as.list(scales))
> details
$t
[1] 20

$y
[1] "c"

$p
[1] "hye"

$r
[1] "t3"