在A列中查找大于0的第一个值的位置,并在B列中的该位置返回值
我是 R 的新手,我正在努力解决这个问题:我想评估 A 列中的值并获得该列中第一个非零值的位置。然后,我想获取在 B 列中找到的位置的值。这需要在与此类似的数据框中发生。
| A栏 | B栏 |
|---|---|
| 0 | 1998年 |
| 0 | 1997年 |
| 2 | 1996年 |
| 3 | 1995年 |
回答
如果你的 A 是非负的
B[ match(FALSE, cummax(A) == 0) ]
我是 R 的新手,我正在努力解决这个问题:我想评估 A 列中的值并获得该列中第一个非零值的位置。然后,我想获取在 B 列中找到的位置的值。这需要在与此类似的数据框中发生。
| A栏 | B栏 |
|---|---|
| 0 | 1998年 |
| 0 | 1997年 |
| 2 | 1996年 |
| 3 | 1995年 |
如果你的 A 是非负的
B[ match(FALSE, cummax(A) == 0) ]