2012-08-07 107 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