有没有办法在两个向量上使用 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
关于结果,但似乎应该有一种方法可以直接创建一个列表,其中的值位于向量中。
您可以使用setNames()
setNames(as.list(c(1, 2)), c("foo", "bar"))
(用于列表)或
setNames(c(1, 2), c("foo", "bar"))
(对于向量)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)