是否有一个R函数来替换嵌套的if.else参数以从多个值中选择最大值?
如果这是一个非常初级的问题,请提前道歉,我不太熟悉编码。我试图使strat_returns成为spy_Deceen_mon_ret、tbill_tewlve_mon_ret、GLD_Deceen_mon_ret等之间的最高值,strat_标签也接受所述变量的前几个字母。我的东西现在嵌套的方式不起作用,因为有些东西可以被发布,即使它们低于其他值是否有一个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
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”可能非常有用。只需确保将你的陈述从最具体的陈述到更广泛的陈述进行排序。否则,更广泛的情况将使具体的情况成为可能。