2013-11-01 160 views
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

您可以使用setNamesas.list

setNames(as.list(values), names) 
# $`1` 
# [1] 1 
# 
# $`2` 
# [1] 1.5 
# 
# $`3` 
# [1] 0.5 
2
Map(function(x,y) y,names,values) 

$`1` 
[1] 1 

$`2` 
[1] 1.5 

$`3` 
[1] 0.5 
+0

實際上,你只需要'地圖(函數(X,Y)Y,名稱,值)' – hadley

+0

感謝@hadley。現在更新! – Metrics