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

Die*_*ego 3 r subset dataframe

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

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

所以输出应该是:1996。

我试过使用 match() 没有成功。先感谢您。

Fra*_*ank 5

如果你的 A 是非负的

B[ match(FALSE, cummax(A) == 0) ]
Run Code Online (Sandbox Code Playgroud)