从r中的循环数据计算移动平均值
我想从一系列角度(β)计算一个以弧度为单位的平均角度(θ),这些角度存储在一个名为“a”的数据帧中:从r中的循环数据计算移动平均值,r,moving-average,arima,R,Moving Average,Arima,我想从一系列角度(β)计算一个以弧度为单位的平均角度(θ),这些角度存储在一个名为“a”的数据帧中: time beta theta theta2 1 0 na na 2 2.426551575 na na 3 5.890842799 0.678069689 0.678069689 4 0.530641823 0.8549502
time beta theta theta2
1 0 na na
2 2.426551575 na na
3 5.890842799 0.678069689 0.678069689
4 0.530641823 0.854950297 0.854950297
5 4.794960386 -0.449975202 5.833210105
6 1.271620156 0.104679019 0.104679019
7 5.789548201 -0.236747291 6.046438017
8 1.053579352 0.610520801 0.610520801
9 0.095112206 0.218351484 0.218351484
10 6.108843722 0.324783324 0.324783324
Beta以弧度为单位,由包裹的高希分布随机绘制而成。我想计算θ(实际上是θ2,以弧度为单位)。我用蛮力将弧度转换成正数和负数单位,圆周率/圆周率为180度,但我在寻找一种更优雅的方法
我曾希望这会起作用(调用循环和dplyr包):
a$theta我相信如果我正确理解了你,那么你是在试图计算数据的移动平均值,这在本质上是循环的。如果是这种情况,您可以选择光栅的movingFun
函数来获得移动平均值。因为平均值本质上不是矢量化的,所以它总是返回一个值
如果您粘贴所需的输出,这将是一件好事
在这里,我选择滞后值为2,循环性质为True
library(raster)
movingFun(x, n= 2, fun = mean, circular = TRUE)
输入数据:
x <- c(0,2.426551575,
5.890842799,
0.530641823,
4.794960386,
1.271620156,
5.789548201,
1.053579352,
0.095112206,
6.108843722,
1.240271853,
5.350922943)
我相信如果我理解正确的话,那么你是在试图计算数据的移动平均值,这在本质上是循环的。如果是这种情况,您可以选择光栅的movingFun
函数来获得移动平均值。因为平均值本质上不是矢量化的,所以它总是返回一个值
如果您粘贴所需的输出,这将是一件好事
在这里,我选择滞后值为2,循环性质为True
library(raster)
movingFun(x, n= 2, fun = mean, circular = TRUE)
输入数据:
x <- c(0,2.426551575,
5.890842799,
0.530641823,
4.794960386,
1.271620156,
5.789548201,
1.053579352,
0.095112206,
6.108843722,
1.240271853,
5.350922943)
谢谢,这很有帮助。是的,数据是圆形的(以弧度为单位)。movingFun()似乎使用实际数据来推导圆的边界…有没有办法将其强制为0和2pi?@TCS,你是说缩放你的平均值,如果是这样,你可以这样做:NISTunits::NISTradianTOdeg(scales::rescale(vect,to=c(0,2*pi))
,这里的“vect”是你的movingFun
,您必须传递称为“从比例库重新缩放”的函数,如果您想转换为度,则可以使用NISTunits库。谢谢--这很有帮助。是的,数据是圆形的(以弧度为单位)。movingFun()似乎使用实际数据来推导圆的边界…有没有办法将其强制为0和2pi?@TCS,你是说缩放你的平均值,如果是这样,你可以这样做:NISTunits::NISTradianTOdeg(scales::rescale(vect,to=c(0,2*pi))
,这里的“vect”是你的movingFun
,您必须传递称为“从比例库重新缩放”的函数,若要转换为度,则可以使用该库。
> movingFun(x, n= 2, fun = mean, circular = T)
[1] 2.6754615 1.2132758 4.1586972 3.2107423
[5] 2.6628011 3.0332903 3.5305842 3.4215638
[9] 0.5743458 3.1019780 3.6745578 3.2955974