我对查找窗口不是很自信。因此,这个问题似乎有点简单。但是任何帮助都会很棒。
我有一个数据框,可以捕获每秒的价格变动。虚拟数据集如下
Open High Low Close
2000 5000 1300 1000
3000 3500 2000 3000
4000 4500 3500 4000
5000 5500 4500 3000
6000 6500 5500 4000
如果“关闭”列大于3000,我想追加一个新列,该列在接下来的n个周期内将具有“高”列的最大值。 n可能会根据要求而有所不同。例如,如果n为3,则结果数据帧应为0。
在这种情况下,输出将如下所示:
Open High Low Close Max_Price
2000 5000 1300 1000 0
3000 3500 2000 3000 0
4000 4500 3500 4000 6500
5000 5500 4500 3000 0
6000 6500 5500 4000 0
答案 0 :(得分:1)
这不是最好的方法:您可以使用%in%
来指定与n对应的ID参数。
df %>%
mutate(ID = row_number(), Max_Price = ifelse(Close > 3000 & ID == 3, max(High), 0))
输出:
Open High Low Close ID Max_Price
2000 5000 1300 1000 1 0
3000 3500 2000 3000 2 0
4000 4500 3500 4000 3 6500
5000 5500 4500 3000 4 0
6000 6500 5500 4000 5 0