我有一个大型数据框(下图),我的目的是将日期记录到最后一列 DateToTake
:
我正在搜索的条件是以变量 weekday
为条件的:
对于从星期一到星期五的工作日,我希望来自同一行的变量 Date
的日期 .
对于"Saturday"我想 Date
2天(以下星期一的日期)
对于"Sunday"我想要 Date
1天(也就是下一个星期一的日期)
(例如在数据框中:对于“星期六”和“星期日”,我想要下一个星期一的日期,在“2007-01-08”下面的情况下)
Date PX_OPEN PX_HIGH PX_LOW PX_LAST PX_VOLUME weekday DatetoTake
1 2007-01-01 NA NA NA NA NA Monday NA
2 2007-01-02 597.00 602.67 596.83 602.61 107651752 Tuesday NA
3 2007-01-03 602.73 604.55 601.72 603.79 154028672 Wednesday NA
4 2007-01-04 601.15 602.49 598.85 601.92 191185072 Thursday NA
5 2007-01-05 600.05 600.55 595.06 595.40 188421584 Friday NA
6 2007-01-06 NA NA NA NA NA Saturday NA
7 2007-01-07 NA NA NA NA NA Sunday NA
8 2007-01-08 597.09 598.25 594.73 596.66 158539856 Monday NA
9 2007-01-09 598.21 601.60 597.22 597.65 183998640 Tuesday NA
10 2007-01-10 594.93 595.32 590.82 593.39 201679808 Wednesday NA
有谁知道这如何在R中起作用?
1 回答
这是一个
dplyr
解决方案 .