如何计算循环尺度上参考点的差异?

Mar*_*box 1 r difference

当参数的比例尺本质上是循环的时候,我一直坚持如何计算参数拟合的误差.

例如,参数"A"可以在0和1之间变化,它代表一年的分数(即0 = 1月1日,0.25 = 4月1日,0.5 = 7月1日,0.75 = 10月1日,1.0 = 1月1日等. ).

如何测量参考点的差异.在这种情况下,我希望差异为min/max + - 0.5.

这是一个参考点是4月1日的例子:

ref <- 0.25 # Apr 1st
val <- c(0.1, 0.3, 0.7, 0.95) # what is the difference from these values to ref
minval <- 0
maxval <- 1

# expected output
c(-0.15, 0.05, 0.45, -0.3)
Run Code Online (Sandbox Code Playgroud)

Jos*_*ien 6

这是一个想法:

((val-ref + .5) %% 1) - .5
# [1] -0.15  0.05  0.45 -0.30
Run Code Online (Sandbox Code Playgroud)