【发布时间】:2022-01-18 15:35:48
【问题描述】:
我正在尝试根据变异列 (Day) 的 Sys.Date() 是否为 Tue 有条件地插入行。如果是这样,我想插入前两天在MaxDate 中列出的行。如果Day 列不是Tue,那么我只想让数据框保持原样。我认为您不能在数据框上使用 if_else() 并且不确定如何去做。也许以某种方式使用add_row()?
这就是我所拥有的:
| ID | Product | MaxDate | Day |
|---|---|---|---|
| 100 | candy | 2022-01-18 | Tue |
| 100 | chips | 2022-01-18 | Tue |
| 101 | candy | 2022-01-18 | Tue |
| 101 | chips | 2022-01-18 | Tue |
| 102 | candy | 2022-01-18 | Tue |
| 103 | candy | 2022-01-13 | Tue |
| 103 | chips | 2022-01-13 | Tue |
如果是星期二,这就是我想要的:
| ID | Product | MaxDate | Day |
|---|---|---|---|
| 100 | candy | 2022-01-16 | Tue |
| 100 | chips | 2022-01-16 | Tue |
| 100 | candy | 2022-01-17 | Tue |
| 100 | chips | 2022-01-17 | Tue |
| 100 | candy | 2022-01-18 | Tue |
| 100 | chips | 2022-01-18 | Tue |
| 101 | candy | 2022-01-16 | Tue |
| 101 | chips | 2022-01-16 | Tue |
| 101 | candy | 2022-01-17 | Tue |
| 101 | chips | 2022-01-17 | Tue |
| 101 | candy | 2022-01-18 | Tue |
| 101 | chips | 2022-01-18 | Tue |
| 102 | candy | 2022-01-16 | Tue |
| 102 | candy | 2022-01-17 | Tue |
| 102 | candy | 2022-01-18 | Tue |
| 103 | candy | 2022-01-16 | Tue |
| 103 | chips | 2022-01-16 | Tue |
| 103 | candy | 2022-01-17 | Tue |
| 103 | chips | 2022-01-17 | Tue |
| 103 | candy | 2022-01-13 | Tue |
| 103 | chips | 2022-01-13 | Tue |
如果不是Tue,我希望数据框不变:
| ID | Product | MaxDate | Day |
|---|---|---|---|
| 100 | candy | 2022-01-17 | Mon |
| 100 | chips | 2022-01-17 | Mon |
| 101 | candy | 2022-01-17 | Mon |
| 101 | chips | 2022-01-17 | Mon |
| 102 | candy | 2022-01-17 | Mon |
| 103 | candy | 2022-01-13 | Mon |
| 103 | chips | 2022-01-13 | Mon |
谢谢。
【问题讨论】:
-
我听到你的声音 - 刚刚做到了!谢谢