我正在尝试计算每 3 次连续测量的 R 的四分位变异系数。
cqv_versatile(
Q,
na.rm = TRUE,
digits = 3)
Q
49
44
34
33
37
48
20
48
37
42
44
35
40
有人知道如何计算cqv_versatile
这个连续间隔吗?
我正在尝试计算每 3 次连续测量的 R 的四分位变异系数。
cqv_versatile(
Q,
na.rm = TRUE,
digits = 3)
Q
49
44
34
33
37
48
20
48
37
42
44
35
40
有人知道如何计算cqv_versatile
这个连续间隔吗?
这是使用基数 R 的一种方法,将hst
变量更改为所需的子长度(为了清楚起见,第一个系数是根据索引 1、2、3 的值估计的;第二个系数是根据索引为 4、5 的值估计的,6)
Q=as.numeric(read.table(text="49 44 34 33 37 48 20 48 37 42 44 35 40"))
hst=3
sapply(seq(1,length(Q),hst),function(x){
tmp=x:(pmin(x+hst-1,length(Q)))
q1=quantile(Q[tmp],0.25)
q3=quantile(Q[tmp],0.75)
as.numeric((q3-q1)/(q3+q1))
})
[1] 0.08771930 0.09677419 0.19718310 0.05521472 0.00000000
正如评论中提到的,你应该在估计系数时使用更多的数据。
如果您想根据滚动窗口进行估计,那么索引 1,2,3 -> 2,3,4 -> ... 只需替换seq(1,length(Q),hst)
为seq(1,length(Q),1)
.