矢量元素的总和

时间:2012-08-07 13:01:07

标签: r vector sum

是否可以避免使用do和while循环来计算向量元素的总和,直到出现最后一个正元素或最后一个负元素。

1 个答案:

答案 0 :(得分:6)

尝试以下方法:

x <- 5:-5
# sum until last positive:
sum(x[1:max(which(x > 0))])

x <- -5:5
# sum until last negative:
sum(x[1:max(which(x < 0))])

说明:

Which(x > 0)给出一个索引号的向量,其中x大于0.取最大值得到最后一个这样的索引。然后剩下的就是将x从1加到此元素。我希望这会有所帮助。