2

グーグル検索はこれについて多くを返しません。Rで引数をどのように解凍しますか?

たとえば、Rでスイッチを使おうとすると

switch("AA",c("AA"=5,"BB"=6))

c("AA"=5,"BB"=6)私は実際に戻ってきます、私は5が欲しいです。

switch("AA","AA"=5,"BB"=6)基本的に、私はベクトルマッピングでできるようになりたいです。

4

4 に答える 4

3

これは少し回避策ですが、試してみてください。

do.call("switch", append(list("AA"), list("AA"=5, "BB"=6)))

do.call()、引数のリストをに渡すことができますswitch()

于 2013-03-25T23:16:38.240 に答える
3

これは、switch使用されることを意図した方法です。最初の引数が評価され、後続のペアリストの最初の要素と一致します。

 aa <- "AA"
 switch(aa,"AA"=5,"BB"=6)
#[1] 5
 switch("BB","AA"=5,"BB"=6)
#[1] 6

少なくとも、それが「文字」引数の戦略です。数値引数のプロセスは異なります。の詳細セクションを?switch注意深く読む必要があります。

于 2013-03-25T23:45:00.093 に答える
2

あなたの例はかなり短いです、多分あなたはこの方法で要求された機能を得ることができます:

my.vector = c("AA"=5,"BB"=6)
my.vector[names(my.vector ) == "AA"]

AA 
 5 

于 2013-03-25T23:15:23.307 に答える
2
> c("AA"=5,"BB"=6)["AA"]
AA 
 5 
> c("AA"=5,"BB"=6)["BB"]
BB 
 6 
于 2013-03-26T00:13:09.783 に答える