2

谷歌搜索在这方面的回报并不多。你如何在 R 中解压缩参数?

例如,如果我尝试在 R 中使用 switch

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

我会回来的c("AA"=5,"BB"=6)我会在现实中

本质上,我希望能够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
> c("AA"=5,"BB"=6)["AA"]
AA 
 5 
> c("AA"=5,"BB"=6)["BB"]
BB 
 6 
于 2013-03-26T00:13:09.783 回答
2

你的例子很短,也许你可以通过这种方式获得所需的功能:

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

AA 
 5 

?

于 2013-03-25T23:15:23.307 回答