Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算r中的移动乘法平均值_R - Fatal编程技术网

计算r中的移动乘法平均值

计算r中的移动乘法平均值,r,R,对于数据a=c(1,2,3,4)如何计算移动乘法平均值的平方根?结果应该是b=c(1.41,2.44,3.46)。R中是否有一个内置函数,就像移动平均过滤器(a,rep(1/2,2))一样。如果我使用sqrt(cumprod(a))我就很接近得到想要的结果。我应该在这里更改什么?使用 sqrt(RcppRoll::roll_prod(a, 2)) 对于这个特定的例子,您可以使用sqrt(a[-1]*a[-length(a)]),或者在对数刻度上工作:exp(filter(log(a),rep(

对于数据
a=c(1,2,3,4)
如何计算移动乘法平均值的平方根?结果应该是
b=c(1.41,2.44,3.46)
。R中是否有一个内置函数,就像移动平均
过滤器(a,rep(1/2,2))
一样。如果我使用
sqrt(cumprod(a))
我就很接近得到想要的结果。我应该在这里更改什么?

使用

sqrt(RcppRoll::roll_prod(a, 2))
对于这个特定的例子,您可以使用
sqrt(a[-1]*a[-length(a)])
,或者在对数刻度上工作:
exp(filter(log(a),rep(1/2,2))