for(i in 5:nrow(XBTUSD_df_s)){
XBTUSD_df_s$MaxH[i] = max(XBTUSD_df_s$Price[(i-(5-1)):i])
XBTUSD_df_s$MinL[i] = min(XBTUSD_df_s$Price[(i-(5-1)):i])
}
然后,我将这个for循环放入一个函数中,这样我就可以调整我希望Max和Min以这样的方式为基础的价格(打印行被添加为健全检查):
FindMaxMin = function(x){
for(i in x:nrow(XBTUSD_df_s)){
XBTUSD_df_s$MaxH[i] = max(XBTUSD_df_s$Price[(i-(x-1)):i])
XBTUSD_df_s$MinL[i] = min(XBTUSD_df_s$Price[(i-(x-1)):i])
print(XBTUSD_df_s$MaxH[i])
print(XBTUSD_df_s$MinL[i])
}
}
FindMaxMin(x = 10)
控制台将输出所有预期结果,但与for循环本身不同,我的数据帧不会自动添加到MaxH和MinL列上。
提前谢谢!