Nuestros datos

Vamos a realizar y representar gráficamente correlaciones entre dos variables. En el caso que nuestras variables sean normales se optará por un correlación de Pearson, en caso contrario por una correlación de Spearman.

Veamos como son nuestros datos:

#Fijamos el directorio de trabajo
setwd(dir = "C:/R/MARKDOWN/correlaciones")

#leemos el fichero de datos indicando que la primera columna no es una variable row.names
correlaciones<-read.csv("correlaciones.csv", sep=";",row.names = 1)
str(correlaciones)
## 'data.frame':    29 obs. of  7 variables:
##  $ altura       : int  1034 704 1093 952 263 1023 1219 821 207 552 ...
##  $ diversidad   : int  16 6 16 10 14 12 4 9 9 8 ...
##  $ abundancia   : int  100 459 110 412 599 101 102 515 601 699 ...
##  $ precipitacion: int  100 120 156 155 12 122 126 100 41 59 ...
##  $ uso          : int  1 4 1 2 7 1 1 3 7 6 ...
##  $ incendios    : int  1 2 5 6 8 7 4 5 1 2 ...
##  $ otros        : int  0 0 0 9 8 7 6 5 4 3 ...
head(correlaciones)
##   altura diversidad abundancia precipitacion uso incendios otros
## 1   1034         16        100           100   1         1     0
## 2    704          6        459           120   4         2     0
## 3   1093         16        110           156   1         5     0
## 4    952         10        412           155   2         6     9
## 5    263         14        599            12   7         8     8
## 6   1023         12        101           122   1         7     7

Representación gráfica y Correlación de Pearson

Cargamos ggpubr:

library(ggpubr)
## Warning: package 'ggpubr' was built under R version 3.5.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.5.3
## Loading required package: magrittr

Vamos a trabajar con al altura y la precipitación, primero testamos la normalidad de estas variables para saber que correlación es la más adecuada:

par(mfrow=c(1,2))
qqnorm(correlaciones[,1],main="altura Q-Q Plot")#altura
qqline(correlaciones[,1])

qqnorm(correlaciones[,4],main="precipitación Q-Q Plot")#precipitación
qqline(correlaciones[,4])

shapiro.test(correlaciones[,1])#altura=es normal
## 
##  Shapiro-Wilk normality test
## 
## data:  correlaciones[, 1]
## W = 0.9643, p-value = 0.4172
shapiro.test(correlaciones[,4])#precipitación=es normal
## 
##  Shapiro-Wilk normality test
## 
## data:  correlaciones[, 4]
## W = 0.95776, p-value = 0.2891

Las dos es normal, optamos por una correlación de Pearson:

cor.test(correlaciones$altura, correlaciones$precipitacion, method=c("pearson"))
## 
##  Pearson's product-moment correlation
## 
## data:  correlaciones$altura and correlaciones$precipitacion
## t = 7.5389, df = 27, p-value = 4.139e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6543213 0.9140457
## sample estimates:
##       cor 
## 0.8233721

La relación es positiva (coeficiente positivo) y significativa.

Lo representamos:

pear<-ggscatter(correlaciones, x = "altura", y = "precipitacion", 
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "pearson", title = "Pearson",
          xlab = "Altura (msnm)", ylab = "Precipitación (mm)",
          font.x=10, font.y=10)
pear

Representación gráfica y Correlación de Spearman

Vamos a trabajar con la diversidad y la abundancia, primero testamos la normalidad de estas variables para saber que correlación es la más adecuada:

par(mfrow=c(1,2))
qqnorm(correlaciones[,2],main="diversidad Q-Q Plot")#diversidad
qqline(correlaciones[,2])

qqnorm(correlaciones[,3],main="abundancia Q-Q Plot")#abundancia
qqline(correlaciones[,3])

shapiro.test(correlaciones[,2])#diversidad=no es normal
## 
##  Shapiro-Wilk normality test
## 
## data:  correlaciones[, 2]
## W = 0.92456, p-value = 0.03984
shapiro.test(correlaciones[,3])#abundancia=no es normal
## 
##  Shapiro-Wilk normality test
## 
## data:  correlaciones[, 3]
## W = 0.838, p-value = 0.000435

Las dos no son normales, optamos por una correlación de Spearman:

cor.test(correlaciones$diversidad, correlaciones$abundancia, method=c("spearman"))
## Warning in cor.test.default(correlaciones$diversidad,
## correlaciones$abundancia, : Cannot compute exact p-value with ties
## 
##  Spearman's rank correlation rho
## 
## data:  correlaciones$diversidad and correlaciones$abundancia
## S = 4206.6, p-value = 0.8524
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##        rho 
## -0.0361165

No hay relación significativa entre las variables, no hay correlación.

Lo representamos:

spear<-ggscatter(correlaciones, x = "diversidad", y = "abundancia", 
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "spearman", title = "Spearman",
          xlab = "diversidad", ylab = "abundancia",
          font.x=10, font.y=10)
spear