To calculate rolling correlation in R, you can use rollapply() function from zoo package. The Rolling correlation is basically Rolling correlations are correlations between two time series on a rolling window.
The following method shows how you can do it with syntax.
Method: Use rollapply() Function
library(zoo)
rollapply(df, width=3, function(x) cor(x[,2],x[,3]), by.column=FALSE)
The following example shows how to calculate rolling correlation in R.
Use rollapply() to Calculate rolling correlation
Let’s see how we can calculate rolling correlation between column of data frame:
# Load library
library(zoo)
# Create data frame
df <- data.frame(month=1:8,
Pressure=c(12.39,11.25,12.15,13.48,13.78,12.89,12.21,12.58),
Temperature=c(78,89,85,84,81,79,77,85))
# Calculate rolling correlation
rollapply(df, width=3, function(x) cor(x[,2],x[,3]), by.column=FALSE)
Output:
[1] -0.8875682 -0.9028927 -0.8075214 0.5601691 0.9970314 0.2892685
As the output shows rolling correlation between Pressure and Temperature column of data frame with window size 3.