【发布时间】:2021-04-06 11:49:34
【问题描述】:
希望根据其他列的值添加一列,但超过一行。
DF:
Studios: A, B, C ...
Year:2000-2020
Id:r1,r2,r3,r4...
Top1:0,1,0,0,0
起始数据集如下所示:
| id | Year | Studio | Top1 |
|---|---|---|---|
| r1 | 2020 | A | 0 |
| r2 | 2001 | B | 0 |
| r3 | 2019 | A | 1 |
| r45 | 2005 | D | 1 |
| r34 | 2005 | E | 1 |
Ifelse 状态(可能):
我想要实现的是“创建列PreviousTop1.If 列Studio1=studioX 其中year=year-1 和Top1=1。
*澄清:studio1指的是我的id当前所在的studio1。虽然 studioX 和 studio1 是同一个工作室,但 id 不同。
所需的输出:
| id | Year | Studio | Top1 | PreviousTop1 |
|---|---|---|---|---|
| r1 | 2020 | A | 0 | 1 |
| r2 | 2001 | B | 0 | 0 |
| r3 | 2019 | A | 1 | 0 |
| r45 | 2005 | D | 1 | 0 |
| r34 | 2005 | E | 1 | 0 |
正确答案的推理
PreviousTop=1,在第 1 行,因为 r3 存在。
所以我需要检查整个列是否有 1 个条件为真的实例,然后中断。
【问题讨论】:
标签: r if-statement dplyr data-wrangling