我决定学习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