在A列中查找大于0的第一个值的位置,并在B列中的该位置返回值

我是 R 的新手,我正在努力解决这个问题:我想评估 A 列中的值并获得该列中第一个非零值的位置。然后,我想获取在 B 列中找到的位置的值。这需要在与此类似的数据框中发生。

A栏 B栏
0 1998年
0 1997年
2 1996年
3 1995年

回答

如果你的 A 是非负的

B[ match(FALSE, cummax(A) == 0) ]


以上是在A列中查找大于0的第一个值的位置,并在B列中的该位置返回值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>