考虑以下代码
names = c("1","2","3")
values = c(1.0,1.5,0.5)
list(names = values)
这会产生以下列表
$names
[1] 1.0 1.5 0.5
但我想要的清单是:
$`1`
[1] 1
$`2`
[1] 1.5
$`3`
[1] 0.5
换句话说,list("1"=1.0,"2"=1.5,"3"=0.5)
那么,如何从上面的变量names
和values
开始创建这样的列表呢?
答案 0 :(得分:4)
您可以使用setNames
和as.list
:
setNames(as.list(values), names)
# $`1`
# [1] 1
#
# $`2`
# [1] 1.5
#
# $`3`
# [1] 0.5
答案 1 :(得分:2)
Map(function(x,y) y,names,values)
$`1`
[1] 1
$`2`
[1] 1.5
$`3`
[1] 0.5