2012-03-14 17 views
2

は私が行いますリスト列の名前を文字列として割り当てる方法は?

assign('test', 'bye') 
test 
[1] "bye" 

は今、私は'テスト' 変数内のベクトルを持っています。

私はフォローリストの列の名前として「試験」変数内の文字列を使用したいと思います:

list(test=c(1:10)) 
$test 
[1] 1 2 3 4 5 6 7 8 9 10 

しかし、私はNAMEとして「BYE」を使用したいと思います( '理由bye 'はテスト変数の中に書かれています) どうすればいいですか?

答えて

8

evalまたはassignはすべてここに必要と思われません。彼らの使用通常(必ずしもそうではありませんが)あなたが何かをやっていることを示していますか、または少なくともR-ishの方法です。

> test <- "bye" 
> L <- list(1:10) ## c() unnecessary here too 
> names(L) <- test 
> L 
$bye 
[1] 1 2 3 4 5 6 7 8 9 10 

あなたが本当に単一のステートメントでこれを行うにしたい場合は、あなたが行うことができます:

L <- setNames(list(1:10), test) 

または

L <- structure(list(1:10), .Names=test) 
+0

ベンの最初の文は「fortune(106)」の参照です。 'fortune(181)'も適切です。 :) –

1

私は、これはあなたが探している答えになると思います?

assign('test','bye') 
z<-list(c(1:10)) 
names(z)<-test 
関連する問題