2013-06-18 6 views

答えて

13
character.vector <- c('first.element', 'second.element') 
values.vector <- c(1, 2) 

as.list(setNames(values.vector, character.vector)) 
+1

素敵に!まさに私が必要としたもの。 didntはsetNames関数を知っていて、今から広範囲に使用します! :-D – joidegn

6

完全性を確認するには、別の方法として、parseを使用して評価する式を作成し、を使用します誰ものがstructure言及したことを

# tag and values for list elements 
tag <- c('first.element', 'second.element') 
val <- c(1, 2) 


content <- paste(tag , "=" , val , collapse = " , ") 
content 
# [1] "first.element = 1,second.element = 2" 

eval(parse(text = paste0("list(" , content , ")"))) 
# $first.element 
# [1] 1 
# 
# $second.element 
# [1] 2 
5

を他の答えは、より良い、それをカバーし、しかし:

> names(values.vector) <- character.vector 
    > values.vector 
    first.element second.element 
       1    2 
をして、必要であれば当然のことながら、リストに変換:あなたが設定することができ

character.vector <- c('first.element', 'second.element') 
values.vector <- c(1, 2) 
a.list <- list(//magic here//) 
print(a.list) // prints the same as list(first.element=1, second.element=2) 
5

驚いて....それを評価する:

structure(as.list(values.vector), names=character.vector) 
関連する問題