4
我有一個有很多零的向量。在一個向量中分配值
v <-(3,0,0,5,0,0,0,10,0,0,0,0)
我想向前分配非零數字,並將非零數字之前的所有數字替換爲平均值。
例如(3,0,0)應替換爲(1,1,1)。
(3 + 0 + 0)/ 3 = 1
v應該成爲
(1,1,1,1.25,1.25,1.25,1.25,2,2,2,2,2)
是否有可以做到這一點的功能?
謝謝。
我有一個有很多零的向量。在一個向量中分配值
v <-(3,0,0,5,0,0,0,10,0,0,0,0)
我想向前分配非零數字,並將非零數字之前的所有數字替換爲平均值。
例如(3,0,0)應替換爲(1,1,1)。
(3 + 0 + 0)/ 3 = 1
v應該成爲
(1,1,1,1.25,1.25,1.25,1.25,2,2,2,2,2)
是否有可以做到這一點的功能?
謝謝。
您正在尋找的功能ave
ave(v,cumsum(v))
[1] 1.00 1.00 1.00 1.25 1.25 1.25 1.25 2.00 2.00 2.00 2.00 2.00
偉大的答案!這正是我需要的! – Bogdan