Как рассчитать корреляцию по группам в r
Вы можете использовать следующий базовый синтаксис для расчета корреляции между двумя переменными по группам в R:
library (dplyr)
df %>%
group_by(group_var) %>%
summarize(cor=cor(var1, var2))
Этот конкретный синтаксис вычисляет корреляцию между var1 и var2 , сгруппированными по group_var .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: вычислить корреляцию по группам в R
Предположим, у нас есть следующий кадр данных, содержащий информацию о баскетболистах разных команд:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(18, 22, 19, 14, 14, 11, 20, 28),
assists=c(2, 7, 9, 3, 12, 10, 14, 21))
#view data frame
df
team points assists
1 to 18 2
2 to 22 7
3 A 19 9
4 A 14 3
5 B 14 12
6 B 11 10
7 B 20 14
8 B 28 21
Мы можем использовать следующий синтаксис из пакета dplyr для расчета корреляции между очками и передачами , сгруппированными по командам :
library (dplyr)
df %>%
group_by(team) %>%
summarize(cor=cor(points, assists))
# A tibble: 2 x 2
team horn
1 A 0.603
2 B 0.982
По результату мы видим:
- Коэффициент корреляции между очками и передачами для Команды А составляет 0,603 .
- Коэффициент корреляции между очками и передачами для Команды Б составляет 0,982 .
Поскольку оба коэффициента корреляции положительны, это говорит нам о том, что связь между очками и передачами у обеих команд положительная.
Связанный: Что считается «сильной» корреляцией?
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как посчитать уникальные значения по группам в R
Как рассчитать сумму по группе в R
Как рассчитать среднее значение на группу в R
Как рассчитать сводную статистику по группам в R