我有一组变量。对于不同的场景,我想使用不同的设置。所以我想知道是否有一种方法可以不使用if-else
语句?以下是我尝试使用if-else
方法实现的目标:
if(broker=="A"){
brokeragefutures=aaaa
brokerageoptions=bbbb
STT=cccc
}
else if(broker=="B"){
brokeragefutures=xxxx
brokerageoptions=yyyy
STT=zzzz
}
....
....
....
}
所以最后,我只使用代理名称,变量将自动用于我的计算。这将使尝试不同的场景变得非常容易。
我的问题是,有没有比使用if-else
循环更有效的方法?
感谢。
Shivam
答案 0 :(得分:2)
这看起来像list
个变量。假设您拥有所有可用数据,请创建一个list
,如mylist <- list('A'=c(aaaa,bbbbb,ccc),'B'=c(xxxxx,yyyy,zz))
,依此类推,每个代理都有一个列表元素。然后检索感兴趣的数据,只需mylist$B
代理商&#34; B&#34;等等。
答案 1 :(得分:0)
单个经纪商的解决方案并分配给一组值
根据卷的不同,我建议使用一个映射表,它允许您检索每个实例中所需的相应变量。然后,您可以使用get
来检索所需的变量。
以下是与您的代码
一致的简短示例broker<-"B"
#Setup of initial variables
aa<-1
bb<-2
#Production of your mapping table
mapping<-data.frame(broker=LETTERS[1:2],brokeragefutures=c("aa","bb"),stringsAsFactors=FALSE)
#Use get on the corresponding variable name for the broker
brokeragefutures<-get(mapping[mapping$broker==broker,2])