グーグル検索はこれについて多くを返しません。Rで引数をどのように解凍しますか?
たとえば、Rでスイッチを使おうとすると
switch("AA",c("AA"=5,"BB"=6))
c("AA"=5,"BB"=6)
私は実際に戻ってきます、私は5が欲しいです。
switch("AA","AA"=5,"BB"=6)
基本的に、私はベクトルマッピングでできるようになりたいです。
グーグル検索はこれについて多くを返しません。Rで引数をどのように解凍しますか?
たとえば、Rでスイッチを使おうとすると
switch("AA",c("AA"=5,"BB"=6))
c("AA"=5,"BB"=6)
私は実際に戻ってきます、私は5が欲しいです。
switch("AA","AA"=5,"BB"=6)
基本的に、私はベクトルマッピングでできるようになりたいです。
これは少し回避策ですが、試してみてください。
do.call("switch", append(list("AA"), list("AA"=5, "BB"=6)))
はdo.call()
、引数のリストをに渡すことができますswitch()
。
これは、switch
使用されることを意図した方法です。最初の引数が評価され、後続のペアリストの最初の要素と一致します。
aa <- "AA"
switch(aa,"AA"=5,"BB"=6)
#[1] 5
switch("BB","AA"=5,"BB"=6)
#[1] 6
少なくとも、それが「文字」引数の戦略です。数値引数のプロセスは異なります。の詳細セクションを?switch
注意深く読む必要があります。
あなたの例はかなり短いです、多分あなたはこの方法で要求された機能を得ることができます:
my.vector = c("AA"=5,"BB"=6)
my.vector[names(my.vector ) == "AA"]
AA
5
?
> c("AA"=5,"BB"=6)["AA"]
AA
5
> c("AA"=5,"BB"=6)["BB"]
BB
6