Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个R函数来替换嵌套的if.else参数以从多个值中选择最大值?_R_If Statement_Max - Fatal编程技术网

是否有一个R函数来替换嵌套的if.else参数以从多个值中选择最大值?

是否有一个R函数来替换嵌套的if.else参数以从多个值中选择最大值?,r,if-statement,max,R,If Statement,Max,如果这是一个非常初级的问题,请提前道歉,我不太熟悉编码。我试图使strat_returns成为spy_Deceen_mon_ret、tbill_tewlve_mon_ret、GLD_Deceen_mon_ret等之间的最高值,strat_标签也接受所述变量的前几个字母。我的东西现在嵌套的方式不起作用,因为有些东西可以被发布,即使它们低于其他值 mutate(strat_returns = if_else(lag(spy_twelve_mon_ret) < lag(tbill_twelve

如果这是一个非常初级的问题,请提前道歉,我不太熟悉编码。我试图使strat_returns成为spy_Deceen_mon_ret、tbill_tewlve_mon_ret、GLD_Deceen_mon_ret等之间的最高值,strat_标签也接受所述变量的前几个字母。我的东西现在嵌套的方式不起作用,因为有些东西可以被发布,即使它们低于其他值

 mutate(strat_returns = if_else(lag(spy_twelve_mon_ret) < lag(tbill_twelve_mon_ret),
                                 bond_return,
                                 if_else(lag(spy_twelve_mon_ret) > lag(GLD_twelve_mon_ret), 
                                         spy_return,
                                         if_else(lag(GLD_twelve_mon_ret) > lag(AEM_twelve_mon_ret), 
                                                 GLD_return,
                                                 if_else(lag(AEM_twelve_mon_ret) > lag(NEM_twelve_mon_ret), 
                                                         AEM_return,
                                                         if_else(lag(NEM_twelve_mon_ret) > lag(ABX_twelve_mon_ret), 
                                                                 NEM_return,
                                                                 ABX_return))))),
         strat_label = if_else(lag(spy_twelve_mon_ret) < lag(tbill_twelve_mon_ret),
                               "bond",
                               if_else(lag(spy_twelve_mon_ret) > lag(GLD_twelve_mon_ret), 
                                       "spy",
                                       if_else(lag(GLD_twelve_mon_ret) > lag(AEM_twelve_mon_ret), 
                                               "GLD",
                                               if_else(lag(AEM_twelve_mon_ret) > lag(NEM_twelve_mon_ret), 
                                                       "AEM",
                                                       if_else(lag(NEM_twelve_mon_ret) > lag(ABX_twelve_mon_ret), 
                                                               "NEM",
                                                               "ABX")))))) %>% 
mutate(strat\u返回=if\u else(滞后(spy\u leven\u mon\u ret)滞后(ABX十二个月一个月一个月一个月一个月),
尼姆乌返回,
(()()),,
strat_label=如果else(滞后(spy_12_mon_ret)滞后(ABX十二个月一个月一个月一个月一个月),
“NEM”,
"ABX()(()())%>%

非常感谢
dplyr的
case\u when
在您进行多个if/elseif测试时非常有用。如上所述,“case\u when”可能非常有用。只需确保将你的陈述从最具体的陈述到更广泛的陈述进行排序。否则,更广泛的情况将使具体的情况成为可能。