谷歌搜索对此没有多大回报。你如何在R中解包参数?
例如,如果我尝试在R中使用开关
switch("AA",c("AA"=5,"BB"=6))
我会回到c("AA"=5,"BB"=6)
实际上,我想要5。
基本上,我希望能够使用矢量映射进行switch("AA","AA"=5,"BB"=6)
。
答案 0 :(得分:3)
这是一种解决方法,但请尝试:
do.call("switch", append(list("AA"), list("AA"=5, "BB"=6)))
do.call()
允许您将参数列表传递到switch()
。
答案 1 :(得分:3)
这就是switch
的用途。第一个参数被评估并与后续的pairlists的第一个元素匹配:
aa <- "AA"
switch(aa,"AA"=5,"BB"=6)
#[1] 5
switch("BB","AA"=5,"BB"=6)
#[1] 6
至少这是'角色'论点的策略。数字参数的过程是不同的。需要仔细阅读?switch
的详细信息部分。
答案 2 :(得分:2)
你的例子很短暂,可能会以这种方式获得所需的功能:
my.vector = c("AA"=5,"BB"=6)
my.vector[names(my.vector ) == "AA"]
AA
5
答案 3 :(得分:2)
> c("AA"=5,"BB"=6)["AA"]
AA
5
> c("AA"=5,"BB"=6)["BB"]
BB
6