2012-02-19 7 views

答えて

2

あなたが探している機能はassign()です:

> x <- c("first","second","third") 
> for (i in 1:length(x)) { 
+ assign(x[i], sample(letters,4)) 
+ } 
> 
> ls() 
[1] "first" "i"  "second" "third" "x"  
> first 
[1] "t" "d" "u" "j" 
> second 
[1] "o" "i" "p" "l" 
> third 
[1] "w" "v" "r" "n" 

別の方法として、あなたはこれらのベクトルにリストのようにさまざまな要素を構築することができ:

> mylist <- list() 
> for (i in 1:length(x)) { 
+ mylist[[x[i]]] <- sample(letters,4) 
+ } 
> mylist 
$first 
[1] "e" "l" "y" "d" 

$second 
[1] "t" "o" "k" "h" 

$third 
[1] "g" "x" "p" "b" 
1

あなたはこのオブジェクトにやっているだろう何言っていません。あなたは、名前のベクトルを使用して、最も単純な構造を得ることができます:

names(x) <- x 
x[] <- sample(letters, 4) 

あなたはLHSのペアブラケットを使用しない場合は、全体のベクトルが置き換えられますし、名前が失われます。引用された名前の値にアクセスできるようになりました。

関連する問題