3
我需要從矢量中減去一個數字,以便從元素中連續減去它。作爲一個例子,考慮矢量a = c(8, 4)
。如果我想連續從這個向量中減去9,我首先從第一個向量元素減去9,即第一個向量元素減去9,第一個元素的值爲1,然後從第二個元素中減去。爲第二個向量元素留下4-1 = 3。從矢量元素中連續減去
我可以用一堆不雅的if-else語句來做到這一點。一定會有更好的辦法。這將更容易顯示示例:
我假設串行減法函數被稱爲serialSub。
a = c(8,4)
serialSub(a,4)
> [1] 4 4
serialSub(a,8)
> [1] 0 4
serialSub(a,9)
> [1] 0 3
serialSub(a,13)
> [1] 0 0
serialSub(a,0)
> [1] 8 4
或'PMIN(P最高(0,cumsum(一) - V),A)',我想。 – Frank
@Frank不錯的一個 - 'pmax(0,cumsum(a)-v)'也適用於所得到的向量的累加和,我喜歡我們可以在'和'之間使用'pmin'的觀察'確定要保留什麼而不是使用'diff'。 – josliber