To calculate correlation by group in R, you can use functions from **dplyr** package.This provides functions to manipulate and summarize data by groups.

You can use **group_by()** function to create group based on categorical variable. The **summarize()** function to apply the **cor()** function to the variables.

The following method shows how you can do it with syntax.

**Method: Calculate Corrlation by Group**

```
df %>%
group_by(column1) %>%
summarize(cor=cor(column2, column3))
```

The following example shows how we can calculate corrlation by group in R.

## Calculate Corrlation by Group

Let’s see how we can calculate corrlation by group in R:

```
# Import library
library(dplyr)
# Create data frame
df <- data.frame(Machine_name=c("A","B","C","D","A","B","C","D"),
Pressure=c(78.2, 78.2, 71.7, 80.21, 80.21, 82.56, 72.12, 73.85),
Temperature=c(35, 36, 36, 38, 32, 32, 31, 34))
# Calculate correlation between Pressure and Temperature grouped by 'Machine_name'
d <- df %>%
group_by(Machine_name) %>%
summarize(cor=cor(Pressure, Temperature))
# Print summary statistics
print(d)
```

Output:

```
# A tibble: 4 × 2
Machine_name cor
<chr> <dbl>
1 A -1
2 B -1
3 C -1
4 D 1
```

The output shows corrlation between *Pressure* and *Temperature* column of data frame which is group by *Machine_name* column.