gpt4 book ai didi

r - 计算向量末尾的负值数

转载 作者:行者123 更新时间:2023-12-04 10:27:43 24 4
gpt4 key购买 nike

如何按顺序计算最后一个负值?

例子:

200 120 80 7 -12 -20 15 70 85 -12 -19 -43

应该返回
3

因为最后三个值都是负数。
189 321 234 -87 -19 -8 -1 10 12 21 9 -23

应该返回
1


145 321 213 187 87 78 -23 -43 12 -35 21

应该返回
0

因为最后一个值不是负数。

我知道我可以做一些循环,在第一个非负值上停止,但我认为这在计算上不会有效率。有没有更好更简单的方法来做到这一点?

最佳答案

您可以使用 rle :

z <- rnorm(20)
r <- rle(sign(z))
n <- length(r$values)
ifelse(r$values[n] < 1, r$lengths[n], 0)

关于r - 计算向量末尾的负值数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19607605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com