谷歌搜索在这方面的回报并不多。你如何在 R 中解压缩参数?
例如,如果我尝试在 R 中使用 switch
switch("AA",c("AA"=5,"BB"=6))
我会回来的c("AA"=5,"BB"=6)
我会在现实中
本质上,我希望能够switch("AA","AA"=5,"BB"=6)
使用矢量映射。
谷歌搜索在这方面的回报并不多。你如何在 R 中解压缩参数?
例如,如果我尝试在 R 中使用 switch
switch("AA",c("AA"=5,"BB"=6))
我会回来的c("AA"=5,"BB"=6)
我会在现实中
本质上,我希望能够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
仔细阅读详细信息部分。
> c("AA"=5,"BB"=6)["AA"]
AA
5
> c("AA"=5,"BB"=6)["BB"]
BB
6
你的例子很短,也许你可以通过这种方式获得所需的功能:
my.vector = c("AA"=5,"BB"=6)
my.vector[names(my.vector ) == "AA"]
AA
5
?