有没有办法在两个向量上使用 mapply 来构造一个命名列表?第一个向量将是类型character
并包含用于列表的名称,而第二个向量包含值。
到目前为止,我唯一的解决方案是:
> dummyList = list()
> addToList <- function(name, value) {
+ dummyList[[name]] <- value
+ }
> mapply(addToList, c("foo", "bar"), as.list(c(1, 2))
$foo
`1`
$bar
`2`
这似乎是一个相当人为的解决方案,但我无法弄清楚如何做到这一点。我遇到的问题是:
dummyList
即使从未更改,它也需要创建,dummyList
并且在调用后是一个空列表mapply
。如果数值向量 ,
c(1, 2)
未转换为列表,则调用的结果mapply
是双精度数的命名向量。
为了解决问题 2,我总是可以调用mapply
两个向量,然后调用as.list
结果,但似乎应该有一种方法可以直接创建一个列表,其中的值位于向量中。