在R中查找具有标题要求和mutate()挑战的行的最大值

在R中查找具有标题要求和mutate()挑战的行的最大值,r,max,tibble,R,Max,Tibble,我有一个tibble(见下文),其中包括大量股票(SPY、GLD等)的12个月回报,以及12个月后的一行回报。我想从第(t-1)行取不同十二个月之间的最大值,然后对于具有该值的股票,在第(t)行的一个名为“Strat return”的单独列中公布其收益,然后在第(t)行的另一列中公布股票名称以及名为“Strat ticker”的股票 我试过运行if_else和case_when参数。当我尝试这样做时,我很难找到tibble最终为空的最大值。此外,如果我想添加一些股票,我不知道有什么方法可以将其扩

我有一个tibble(见下文),其中包括大量股票(SPY、GLD等)的12个月回报,以及12个月后的一行回报。我想从第(t-1)行取不同十二个月之间的最大值,然后对于具有该值的股票,在第(t)行的一个名为“Strat return”的单独列中公布其收益,然后在第(t)行的另一列中公布股票名称以及名为“Strat ticker”的股票

我试过运行if_else和case_when参数。当我尝试这样做时,我很难找到tibble最终为空的最大值。此外,如果我想添加一些股票,我不知道有什么方法可以将其扩展到包括许多不同的股票。我还使用lag(SPY_十二个mon_ret)来查找行(t-1),效果很好

# Input

# A tibble: 6 x 8
# Groups:   mom_asset [1]
mom_asset date       spy_return       spy_twelve_mon      tbill_twelve_mon GLD_return    GLD_twelve_mon bond_return
<chr>     <date>          <dbl>              <dbl>                <dbl>      <dbl>              <dbl>       <dbl>
  1 SPY       2005-11-30    0.0440              0.0819               0.0826     0.0582             0.0882    0.00374 
2 SPY       2005-12-31   -0.00190             0.0483               0.0861     0.0505             0.178     0.0114  
3 SPY       2006-01-31    0.0240              0.0981               0.0308     0.0993             0.343    -0.000596
4 SPY       2006-02-28    0.00573             0.0817               0.0580    -0.0111             0.288     0.00161 
5 SPY       2006-03-31    0.0165              0.120                0.0140     0.0362             0.357    -0.00868 
6 SPY       2006-04-30    0.0126              0.156               -0.0507     0.120              0.501    -0.00149 

#  Output

# A tibble: 6 x 8
# Groups:   mom_asset [1]
mom_asset date       spy_return spy_twelve_mon_ret tbill_twelve_mon_ret GLD_return GLD_twelve_mon_ret bond_return     strat_returns   strat_label
<chr>     <date>          <dbl>              <dbl>                <dbl>      <dbl>              <dbl>       <dbl>          <dbl>         <chr>
2 SPY       2005-12-31   -0.00190             0.0483               0.0861     0.0505             0.178     0.0114          0.0114        BOND
3 SPY       2006-01-31    0.0240              0.0981               0.0308     0.0993             0.343    -0.000596       -0.000596      BOND
4 SPY       2006-02-28    0.00573             0.0817               0.0580    -0.0111             0.288     0.00161         0.00161       BOND 
5 SPY       2006-03-31    0.0165              0.120                0.0140     0.0362             0.357    -0.00868        -0.00868       BOND
6 SPY       2006-04-30    0.0126              0.156               -0.0507     0.120              0.501    -0.00149        -0.00149       BOND
#输入
#一个tibble:6x8
#分组:mom_资产[1]
月底资产日期间谍返还间谍十二个月票据十二个月GLD返还GLD十二个月债券返还
1间谍2005-11-30 0.0440 0.0819 0.0826 0.0582 0.0882 0.00374
2间谍2005-12-31-0.00190 0.0483 0.0861 0.0505 0.178 0.0114
间谍2006-01-31 0.0240 0.0981 0.0308 0.0993 0.343-0.000596
间谍2006-02-28 0.00573 0.0817 0.0580-0.0111 0.288 0.00161
间谍2006-03-310.01650.1200.0140.03620.357-0.00868
间谍2006-04-30 0.0126 0.156-0.0507 0.120 0.501-0.00149
#输出
#一个tibble:6x8
#分组:mom_资产[1]
月底资产日期间谍返还间谍十二月底返还票据十二月底返还GLD返还GLD十二月底返还债券返还策略返还策略标签
2 SPY 2005-12-31-0.00190 0.0483 0.0861 0.0505 0.178 0.0114 0.0114债券
SPY 2006-01-31 0.0240 0.0981 0.0308 0.0993 0.343-0.000596-0.000596债券
SPY 2006-02-28 0.00573 0.0817 0.0580-0.0111 0.288 0.00161 0.00161债券
5间谍2006-03-310.01650.1200.0140.03620.357-0.00868-0.00868债券
SPY 2006-04-30 0.0126 0.156-0.0507 0.120 0.501-0.00149-0.00149债券

请提供一份详细的信息。特别是,提供一些示例数据和所需的输出,例如使用
dput()
。我有点困惑。您是否试图为新列中的每一行查找GLD_返回值、AEM_返回值、ABX_返回值、NEM_返回值和bond_返回值中的最高值?首先,第1行将被删除,因为它是“滞后”。然后,在第2行,一个名为“strat_return”的新列中,算法将进入第1行,查看不同列之间的最高值,其中标题包括“12”,然后发布相关股票第2行的回报,并在另一个名为“strat_label”的新列中发布股票标签的前3个字符。例如,假设在第1行中,最大的十二个月回报是针对GLD的,在第2行的strat_return列中,第2行的GLD_return将被发布,在strat_标签中,“GLD”。请提供一个。特别是,提供一些示例数据和所需的输出,例如使用
dput()
。我有点困惑。您是否试图为新列中的每一行查找GLD_返回值、AEM_返回值、ABX_返回值、NEM_返回值和bond_返回值中的最高值?首先,第1行将被删除,因为它是“滞后”。然后,在第2行,一个名为“strat_return”的新列中,算法将进入第1行,查看不同列之间的最高值,其中标题包括“12”,然后发布相关股票第2行的回报,并在另一个名为“strat_label”的新列中发布股票标签的前3个字符。例如,假设在第1行中,最大的12个mon ret是GLD,在strat_return列的第2行中,第2行的GLD_return将被发布,在strat_标签中,“GLD”。