2012-08-07 119 views
2

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

回答

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。利用这个最大给出最后一个这样的索引。然后剩下的就是从1到这个元素的总和x。我希望这有帮助。

+0

谢谢泰勒,我会牢记这一点。 – Edward 2012-08-07 13:11:44

+0

我认为这是我需要的。你想让我做泰勒吗? – 2012-08-07 13:11:50

+0

爱德华,我很高兴解释,它是一个随机生成的矢量。我需要找出所有元素的总和,直到出现第一个正数。感谢您的帮助 – 2012-08-07 13:12:52