Существует ли функция R для замены вложенных аргументов if.else для выбора максимального значения из нескольких значений? - PullRequest
0 голосов
/ 05 ноября 2019

Извините, если это какой-то вопрос для начинающих, я не очень знаком с кодированием. Я пытаюсь сделать так, чтобы strat_returns стал наибольшим значением между spy_twelve_mon_ret, tbill_tewlve_mon_ret, GLD_twelve_mon_ret и т. Д., И что strat_label также принимает первые пару букв указанной переменной. То, как моя вещь вложена прямо сейчас, не работает, поскольку некоторые вещи могут публиковаться, даже если они ниже других значений.

 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")))))) %>% 

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...