### R代码来自vignette源代码'RleTricks。Rnw ' ################################################### ### 代码块1号:选项 ################################################### 选项(宽度= 60 ) ################################################### ### 代码块2号:Rle-rollmean ################################################### rollmeanRle < -函数(x, k) {n < -长度(x) cumsum (c (Rle(总和(窗口(x 1 k))),窗口(x, k + 1, n) -窗口(x, 1, n - k))) / k } ################################################### ### 代码块3号:Rle-rollvar ################################################### rollvarRle < -函数(x, k) {n < -长度(x)意味着< - rollmeanRle (x, k) nextMean < -窗口(意味着2 n - k + 1) cumsum (c (Rle(和((窗口(x 1 k) -意味着[1])^ 2)),k * diff(意味着)^ 2 -(窗口(x, 1, n - k) - nextMean) ^ 2 +(窗口(x, k + 1, n) - nextMean) ^ 2)) / (k - 1 ) } ################################################### ### 代码块4号:Rle-rollcov ################################################### rollcovRle < -函数(x, y, k) {n < -长度(x) meanX < - rollmeanRle (x, k)小气鬼< - rollmeanRle (y, k) nextMeanX < -窗口(meanX 2 n - k + 1) nextMeanY < -窗口(小气鬼2 n - k + 1) cumsum (c (Rle(和((窗口(x 1 k) - meanX[1]) *(窗口(y, 1 k) -小气鬼[1]))),k * diff (meanX) * diff(小气鬼)——(窗口(x, 1, n - k) - nextMeanX) *(窗口(y, 1, n - k) - nextMeanY) +(窗口(x, k + 1, n) - nextMeanX) *(窗口(y, k + 1,n) - nextMeanY))) / (k - 1 ) } ################################################### ### 代码块5号:Rle-rollsd ################################################### rollsdRle < -函数(x, k){√rollvarRle x, k )) } ################################################### ### 代码块6号:Rle-rollcor ################################################### rollcorRle < -函数(x, y, k) {rollcovRle (x, y, k) / (rollsdRle (x, k) * rollsdRle (y, k)}