- •Вводные замечания
- •1. Начало работы
- •2. Описательные статистики
- •2.1. Проверка наличия «выбросов»
- •2.2. Проверка нормальности распределения
- •2.2.1. Критерии нормальности
- •2.2.2. Визуальная проверка нормальности распределения
- •3.2. Сравнение двух зависимых групп
- •3. Сравнение двух выборок
- •3.1. Сравнение двух независимых групп
- •4. Корреляционный анализ
- •5. Многомерные методы
- •5.1. Анализ главных компонент и эксплораторный факторный анализ
- •5.2. Кластерный анализ
- •5.2.1. Иерархический кластерный анализ
- •5.2.2. Кластерный анализ методом К-средних
- •Список рекомендуемой литературы и интернет-источников
4. Корреляционный анализ
Для проведения корреляционного анализа в R есть несколько функций:
# Корреляция двух переменных
cor.test(epi.bfi$epiE, epi.bfi$epiNeur, method = "pearson")
##
##Pearson's product-moment correlation
##data: epi.bfi$epiE and epi.bfi$epiNeur
##t = -2.72, df = 229, p-value = 0.0071
##alternative hypothesis: true correlation is not equal to 0
##95 percent confidence interval:
##-0.298993 -0.048771
##sample estimates:
##cor
##-0.17674
# Корреляция нескольких переменных cor(epi.bfi[, 6:10], method = "pearson")
## |
bfagree |
bfcon |
bfext |
bfneur |
bfopen |
## bfagree |
1.000000 |
0.449899 |
0.47848 |
-0.044617 0.39415 |
|
## bfcon |
0.449899 |
1.000000 |
0.26675 |
0.044503 |
0.30518 |
## bfext |
0.478482 |
0.266752 |
1.00000 |
0.037130 |
0.45876 |
## bfneur |
-0.044617 0.044503 0.03713 |
1.000000 |
0.29348 |
||
## bfopen |
0.394154 |
0.305183 |
0.45876 |
0.293478 1.00000 |
|
|
|
|
|
|
|
# Корреляция нескольких переменных с указанием уровня значимости library(psych)
cr <- corr.test(epi.bfi[, 6:10], method = "pearson") round(cr$r, digits = 2)
##bfagree bfcon bfext bfneur bfopen
## bfagree |
1.00 |
0.45 |
0.48 |
-0.04 |
0.39 |
## bfcon |
0.45 |
1.00 |
0.27 |
0.04 |
0.31 |
## bfext |
0.48 |
0.27 |
1.00 |
0.04 |
0.46 |
## bfneur |
-0.04 |
0.04 |
0.04 |
1.00 |
0.29 |
## bfopen |
0.39 |
0.31 |
0.46 |
0.29 |
1.00 |
|
|
|
|
|
|
cr$p |
|
|
|
|
|
|
|
|
|
|
|
## |
bfagree |
bfcon |
bfext |
bfneur |
bfopen |
## bfagree 0.0000e+00 |
5.2260e-12 |
1.2879e-13 |
1.0000e+00 |
3.6759e-09 |
|
## bfcon |
6.5326e-13 |
0.0000e+00 |
1.6036e-04 |
1.0000e+00 |
1.3708e-05 |
## bfext |
1.2879e-14 |
4.0091e-05 |
0.0000e+00 |
1.0000e+00 |
1.8066e-12 |
##bfneur 4.9982e-01 5.0092e-01 5.7449e-01 0.0000e+00 2.8586e-05
##bfopen 5.2513e-10 2.2847e-06 2.0073e-13 5.7173e-06 0.0000e+00
cor.test() позволяет получить подробную информацию о корреляции двух переменных. cor() выводит в консоль результаты корреляции нескольких переменных,
29
однако не приводит уровни значимости для них. corr.test() из пакета "psych" позволяет получить как коэффициенты корреляции нескольких переменных, так и уровни значимости для них. По умолчанию функции задействуют метод Пирсона, но можно также указать другие методы: "spearman" и "kendall". Обратите также внимание на то, что в матрице с уровнями значимости корреляций выше диагонали приведены скорректированные на множественные сравнения p-value (по умолчанию используется метод Холма), ниже диагонали – нескорректированные.
# Корреляционный анализ Спирмена
cor.test(epi.bfi$epiE, epi.bfi$epiNeur, method = "spearman")
##
##Spearman's rank correlation rho
##data: epi.bfi$epiE and epi.bfi$epiNeur
##S = 2420000, p-value = 0.0066
##alternative hypothesis: true rho is not equal to 0
##sample estimates:
##rho
##-0.17811
# Корреляционный анализ Кенделла
cor.test(epi.bfi$epiE, epi.bfi$epiNeur, method = "kendall")
##
##Kendall's rank correlation tau
##data: epi.bfi$epiE and epi.bfi$epiNeur
##z = -2.7, p-value = 0.0069
##alternative hypothesis: true tau is not equal to 0
##sample estimates:
##tau
##-0.12664
Коэффициенты корреляции приведены после sample estimates: cor – коэффициент корреляции Пирсона, rho – коэффициент корреляции Спирмена, tau – коэффициент корреляции Кенделла. Визуализировать результаты корреляционного анализа можно с помощью диаграмм рассеяния (scatter plots):
# Базовый R, несколько переменных
pairs(x = epi.bfi[, 6:10], main = "Корреляции Большой пятерки")
30
# Базовый R, две переменные
plot(epi.bfi$bfagree, epi.bfi$bfcon, xlab = "Доброжелательность", ylab =
"Добросовестность") abline(lm(epi.bfi$bfcon ~ epi.bfi$bfagree))
31
# Пакет GGally, несколько переменных library(GGally)
ggpairs(data = epi.bfi[, 6:10], aes(alpha = 0.4))
32
# Пакет ggplot2, две переменные library(ggplot2)
ggplot(data = epi.bfi[, 6:10], aes(x = bfagree, y = bfcon)) + geom_point() +
geom_smooth(method = "lm", se = F) +
labs(x = "Доброжелательность", y = "Добросовестность") + theme_bw()
33
34
