#r
Вопрос:
Вот демонстрационный образец фрейма данных.
> df
a1 a2 a3 a4 b1 b2 b3 b4
1 480 770 601 953 469 750 588 944
2 0 0 0 0 0 0 0 0
3 3 13 9 12 3 12 9 12
4 0 2 4 3 0 14 3 2
5 0 0 11 0 0 0 11 0
6 165 292 162 313 180 368 116 368
Я хочу выполнить попарный корреляционный анализ между всеми столбцами в этом фрейме данных, используя R. Результат выглядит следующим образом, где xx означает коэффициент корреляции:
a1 a2 a3 a4 b1 b2 b3 b4
a1 1 xx xx xx xx xx xx xx
a2 xx 1 xx ...
a3
a4
b1
b2
b3
b4
Комментарии:
1. пакет cf Функция Hmisc rcorr
Ответ №1:
Мы можем просто применить cor
то, что может принимать data.frame в качестве входных данных
cor(df1)
-выход
a1 a2 a3 a4 b1 b2 b3 b4
a1 1.0000000 0.9994005 0.9965911 0.9998388 0.9992078 0.9901382 0.9878138 0.9989938
a2 0.9994005 1.0000000 0.9932938 0.9987297 0.9999332 0.9942387 0.9820741 0.9999294
a3 0.9965911 0.9932938 1.0000000 0.9978037 0.9925714 0.9754379 0.9972439 0.9919770
a4 0.9998388 0.9987297 0.9978037 1.0000000 0.9983719 0.9876824 0.9902776 0.9981116
b1 0.9992078 0.9999332 0.9925714 0.9983719 1.0000000 0.9948892 0.9808680 0.9999729
b2 0.9901382 0.9942387 0.9754379 0.9876824 0.9948892 1.0000000 0.9564724 0.9953764
b3 0.9878138 0.9820741 0.9972439 0.9902776 0.9808680 0.9564724 1.0000000 0.9799320
b4 0.9989938 0.9999294 0.9919770 0.9981116 0.9999729 0.9953764 0.9799320 1.0000000
данные
df1 <- structure(list(a1 = c(480L, 0L, 3L, 0L, 0L, 165L), a2 = c(770L,
0L, 13L, 2L, 0L, 292L), a3 = c(601L, 0L, 9L, 4L, 11L, 162L),
a4 = c(953L, 0L, 12L, 3L, 0L, 313L), b1 = c(469L, 0L, 3L,
0L, 0L, 180L), b2 = c(750L, 0L, 12L, 14L, 0L, 368L), b3 = c(588L,
0L, 9L, 3L, 11L, 116L), b4 = c(944L, 0L, 12L, 2L, 0L, 368L
)), class = "data.frame", row.names = c("1", "2", "3", "4",
"5", "6"))