Вопрос или проблема
Я провел корреляцию Спирмена и мне нужен диаграмму рассеяния с линией, соответствующей коэффициенту Спирмена.
> db
id Var_1 Var_2 Var_3 Var_4
1 5 8.17 83.08 10.28 19.81
2 6 4.06 42.30 2.72 28.92
3 17 6.06 62.43 4.55 23.10
4 18 10.88 61.12 15.96 23.50
5 27 10.67 49.29 1.99 19.50
6 30 2.85 57.22 13.05 19.90
7 37 7.26 53.79 13.91 22.30
8 40 28.77 146.45 558.33 33.10
9 41 5.26 42.87 7.03 23.40
10 42 21.38 70.32 12.60 20.00
> cor.test(db$Var_4, db$Var_2, method=c("spearman"))
Ранги корреляции Спирмена rho
данные: db$Var_4 и db$Var_2
S = 168, p-value = 0.9728
альтернативная гипотеза: истинное rho не равно 0
оценки выборки:
rho
-0.01818182
Используйте ‘abline’, чтобы вручную добавить линии на ваш график.
db <- read.table(header=TRUE, text="
id Var_1 Var_2 Var_3 Var_4
5 8.17 83.08 10.28 19.81
6 4.06 42.30 2.72 28.92
17 6.06 62.43 4.55 23.10
18 10.88 61.12 15.96 23.50
27 10.67 49.29 1.99 19.50
30 2.85 57.22 13.05 19.90
37 7.26 53.79 13.91 22.30
40 28.77 146.45 558.33 33.10
41 5.26 42.87 7.03 23.40
42 21.38 70.32 12.60 20.00")
rho <- cor(db$Var_4, db$Var_2, method=c("spearman"))
a <- mean(db$Var_2)
plot(db$Var_4, db$Var_2)
abline(a=a, b=rho, col="red")
Ответ или решение
Для создания диаграммы рассеяния с линией, соответствующей коэффициенту корреляции Спирмена, воспользуйтесь следующим примером кода на языке R. Ваша задача будет состоять в том, чтобы визуализировать связь между переменными Var_2 и Var_4, а также добавить линию корреляции.
- Импортируйте данные: У вас уже есть данные, так что можно сразу перейти к созданию таблицы.
# Загрузите данные
db <- read.table(header=TRUE, text="
id Var_1 Var_2 Var_3 Var_4
5 8.17 83.08 10.28 19.81
6 4.06 42.30 2.72 28.92
17 6.06 62.43 4.55 23.10
18 10.88 61.12 15.96 23.50
27 10.67 49.29 1.99 19.50
30 2.85 57.22 13.05 19.90
37 7.26 53.79 13.91 22.30
40 28.77 146.45 558.33 33.10
41 5.26 42.87 7.03 23.40
42 21.38 70.32 12.60 20.00")
- Вычислите коэффициент корреляции Спирмена: Используйте функцию
cor.test()
для нахождения значения rho.
# Вычислите коэффициент корреляции Спирмена
spearman_test <- cor.test(db$Var_4, db$Var_2, method="spearman")
spearman_rho <- spearman_test$estimate
- Создайте диаграмму рассеяния: Используйте функцию
plot()
для отображения данных, затем добавьте линию, используяabline()
. Имейте в виду, что для Спирмена мы не можем просто провести регрессионную линию, как в линейной регрессии, но мы можем использовать среднее значение для прокладывания линии.
# Постройте диаграмму рассеяния
plot(db$Var_4, db$Var_2,
xlab="Var_4",
ylab="Var_2",
main="Диаграмма рассеяния с корреляцией Спирмена")
# Добавьте линию на основе среднего значения Var_2
abline(h=mean(db$Var_2), col="red", lwd=2)
- Обратите внимание на интерпретацию: Линия, проведенная на уровне среднего значения
Var_2
, не отображает корреляцию, как это делала бы линия регрессии в линейной модели. Вместо этого, она показывает общую тенденцию. Коэффициент Спирманаrho
указывает на направление и силу ассоциации, но в случае непараметрических данных визуальные элементы могут привести к неправильным интерпретациям. Имейте в виду, что положительная или отрицательная корреляция может не всегда быть явно видна на графике.
Этот код даст вам визуализацию, которая помогает в понимании взаимосвязи между двумя переменными, а также соответствующую линейную интерпретацию общего уровня.