You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中滚动相关性结果居中显示的实现方法咨询

滚动相关性结果居中实现方案

Python(pandas)

pandas的rolling方法原生支持结果居中对齐,只需设置center=True参数即可,无需手动调整日期索引。示例代码:

import pandas as pd
import numpy as np

# 构造示例数据
df = pd.DataFrame({
    'x': np.random.randn(20),
    'y': np.random.randn(20)
})

# 窗口宽度9,结果居中的滚动相关性计算
df['rolling_corr'] = df['x'].rolling(window=9, center=True).corr(df['y'])

计算后,首个有效相关系数会自动对应窗口的中心位置(第5行,索引从0开始为第4位),前后窗口不足的部分会填充NaN,完全避免手动调整带来的错位问题。

R语言

使用zoo包的rollapply

zoo包的rollapply函数支持通过align="center"参数指定结果居中,示例:

library(zoo)

# 构造示例数据
x <- rnorm(20)
y <- rnorm(20)
df <- data.frame(x, y)

# 窗口9,居中对齐的滚动相关计算
df$rolling_corr <- rollapply(df, width=9, FUN=function(z) cor(z[,1], z[,2]), align="center", by.column=FALSE)

使用slider包(更简洁)

slider包通过.before和.after参数精确控制窗口范围,直接实现结果居中:

library(slider)

# 窗口覆盖当前行前4个、后4个观测(共9个),结果对应当前行
df$rolling_corr <- slide2_dbl(df$x, df$y, ~cor(.x, .y), .before=4, .after=4)

内容的提问来源于stack exchange,提问作者justaneconomist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:04:55