我決定學習R.我想了解如何編寫「R風格」功能並避免循環。下面是一個示例情況:避免循環在R
給定一個向量a
,我想以計算矢量b
其元素b[i]
(矢量索引從1開始)的定義如下:
1 <= i <= 4:
b[i] = NaN
5 <= i <= length(a):
b[i] = mean(a[i-4] to a[i])
本質上,如果我們假裝'a'是一個速度列表,其中第一個條目在時間= 0,第二個在時間= 1秒,第三個在時間= 2秒...我想獲得描述平均速度的相應向量,過去5秒鐘。
例如爲: 如果a is (1,1,1,1,1,4,6,3,6,8,9)
然後b
應該(NaN, NaN, NaN, NaN, 1, 1.6, 2.6, 3, 4, 5.4, 6.4)
我可以用這一個循環做的,但我覺得這樣做會不會在「R風格」。
謝謝
Tungata
是的,這可能是最簡單可行的移動平均實現 – 2009-12-11 13:01:11