我想知道如下定义的计算自相关函数的最佳方法。
对于i = 1,2,...我想计算第i个自相关函数acf 如果v(k)= v(k + i),则这是从k = 1到ni的+1,如果v(k)不同于v(k + i),则为-1,其中n是长度向量。
例如:
if v<-c(0,1,1,0,0) and i = 2. Then
acf(v) = (-1) + (-1) + (-1) = -3
谢谢!
答案 0 :(得分:1)
使用R-help怎么样?你应该找到acf
函数。
v = c(1,1,0,0,1,0,1,0,1)
acf(v,plot=F) -> acf_v
acf_v[2]
答案 1 :(得分:1)
我创建了一个功能,但仍然在寻找一种简短有效的方法。
这是功能:
> v<-c(0,1,1,1,0,1,1)
> acf_bit <-function(vec,lag) {
+ m<-length(vec)
+ t<-0
+ for (k in 1:(m-lag)) {
+ if (v[k]==v[k+lag]) {t<-t+1}
+ else {t<-t-1}
+ }
+ return(t)
+ }
> acf_bit(v,2)
[1] -1