2

考虑以下代码

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)

那么,如何从变量开始创建这样的列表namesvalues

4

2 回答 2

4

您可以使用setNamesas.list

setNames(as.list(values), names)
# $`1`
# [1] 1
#
# $`2`
# [1] 1.5
# 
# $`3`
# [1] 0.5
于 2013-11-01T16:39:04.153 回答
2
Map(function(x,y) y,names,values)

$`1`
[1] 1

$`2`
[1] 1.5

$`3`
[1] 0.5
于 2013-11-01T16:39:28.357 回答