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.