iris_esp <-iris %>%
rename(Longitud_sepalos = Sepal.Length,
Ancho_sepalos = Sepal.Width,
Longitud_petalos = Petal.Length,
Ancho_petalos = Petal.Width,
Especie = Species) %>%
relocate(Especie, .before = 1) #Esto le indica a R que reubique a la variable Especie en la 1° columna.## Especie Longitud_sepalos Ancho_sepalos Longitud_petalos Ancho_petalos
## 1 setosa 5.1 3.5 1.4 0.2
## 2 setosa 4.9 3.0 1.4 0.2
## 3 setosa 4.7 3.2 1.3 0.2
## 4 setosa 4.6 3.1 1.5 0.2
## 5 setosa 5.0 3.6 1.4 0.2
## 6 setosa 5.4 3.9 1.7 0.4
ggplot(iris_esp, aes(Ancho_petalos, Longitud_petalos, colour= Especie)) +
geom_point(shape = 17, size= 4, alpha= 1.0) +
labs(x = "Ancho de pétalos (cm)",
y = "Longitud de pétalos (cm)") +
theme_minimal()## [1] "Especie" "Longitud_sepalos" "Ancho_sepalos" "Longitud_petalos"
## [5] "Ancho_petalos"
# Paquete R base
# Los corchetes [ ] permiten seleccionar un subconjunto del dataframe.
# Dentro de los corchetes, 2:5 selecciona las columnas 2 a 5 del dataframe.
cor(iris_esp[, 2:5])## Longitud_sepalos Ancho_sepalos Longitud_petalos Ancho_petalos
## Longitud_sepalos 1.0000000 -0.1175698 0.8717538 0.8179411
## Ancho_sepalos -0.1175698 1.0000000 -0.4284401 -0.3661259
## Longitud_petalos 0.8717538 -0.4284401 1.0000000 0.9628654
## Ancho_petalos 0.8179411 -0.3661259 0.9628654 1.0000000
# Paquete PerformanceAnalytics
chart.Correlation(iris_esp [2:5],
histogram = TRUE,
method = "pearson",
pch = 1)La función
chart.Correlation()del paquete PerformanceAnalytics en R se utiliza para crear una matriz de correlación visual con gráficos de dispersión, valores de correlación y ajustes lineales. Es especialmente útil para el análisis exploratorio de variables cuantitativas. # Actividad
# Gráfico de Correlación modificado
chart.Correlation(iris_esp [2:5],
histogram = TRUE,
method = "pearson",
pch = 19,
col= "blue")cor.test()Permite calcular y probar estadísticamente la correlación entre dos variables numéricas.No solo brinda el coeficiente de correlación (por ejemplo, de Pearson), sino también un test de hipótesis para evaluar si esa correlación es significativamente diferente de cero.
Argumentos principales:
| Argumento | Descripción |
|---|---|
| x, y | Vectores numéricos a comparar. |
| method | Método de correlación: “pearson” (por defecto), “kendall” o “spearman”. |
| alternative | Hipótesis alternativa: “two.sided” (por defecto), “less”, “greater”. |
| conf.level | Nivel de confianza del intervalo (por defecto: 0.95). |
Vamos a realizar un análisis de correlación de variables para la especie Versicolor
# Paquete PerformanceAnalytics
chart.Correlation(VERSICOLOR [2:5], histogram = TRUE, method = "pearson")Necesitamos verificar el cumplimiento de los supuestos. En primer lugar vamos a evaluar el supuesto de distribución Normal de las variables (Normalidad).
H0: Se cumple el supuesto de Normalidad
H1: No se cumple el supuesto de Normalidad
##
## Shapiro-Wilk normality test
##
## data: VERSICOLOR$Longitud_sepalos
## W = 0.97784, p-value = 0.4647
##
## Shapiro-Wilk normality test
##
## data: VERSICOLOR$Ancho_sepalos
## W = 0.97413, p-value = 0.338
⚠️ No rechazar H₀ no prueba la normalidad, solo indica que no hay suficiente evidencia para afirmar que la variable no lo es.
¿Por qué?
Porque los tests estadísticos funcionan así:
El test busca señales en los datos que contradigan H₀.
Si encuentra señales fuertes (p < 0.05), rechaza H₀.
Si no encuentra señales fuertes (p ≥ 0.05), no la rechaza… pero eso puede ser:
Porque realmente H₀ es cierta o
Porque el test no tuvo suficiente potencia (por ejemplo, con muestras pequeñas o datos ruidosos).
En el caso de la prueba de normalidad para las variables longitud
y ancho de sépalos , no se encontraron evidencias suficientes para
afirmar que la variable no sigue distribución normal.
En términos simples: Las variables pueden considerarse con
distribución aproximadamente normal.
Entonces aplicamos la prueba de Correlación de Pearson.
H0: \(\rho\) = 0
H1: \(\rho\) ≠ 0
cor.test(VERSICOLOR$Longitud_sepalos,
VERSICOLOR$Ancho_sepalos,
method = "pearson",
conf.level = 0.99)##
## Pearson's product-moment correlation
##
## data: VERSICOLOR$Longitud_sepalos and VERSICOLOR$Ancho_sepalos
## t = 4.2839, df = 48, p-value = 8.772e-05
## alternative hypothesis: true correlation is not equal to 0
## 99 percent confidence interval:
## 0.2057718 0.7443655
## sample estimates:
## cor
## 0.5259107
Analicemos los resultados
t = 4.2839 (Valor del estadístico de prueba)
df = 48 grados de libertad
p-value = 8.772e-05
cor = 0.52 (coeficiente de correlación r)
IC 99%: [0.20 ; 0.74] (intervalo de confianza al 99% para la correlación muestral)
Comprobamos el supuesto de Normalidad.
H0: Se cumple el supuesto de Normalidad
H1: No se cumple el supuesto de Normalidad
##
## Shapiro-Wilk normality test
##
## data: VERSICOLOR$Longitud_petalos
## W = 0.966, p-value = 0.1585
##
## Shapiro-Wilk normality test
##
## data: VERSICOLOR$Ancho_petalos
## W = 0.94763, p-value = 0.02728
En el caso de que algún supuesto NO se cumpliera, tenemos dos opciones: transformar una o las dos variables o aplicar la prueba de correlación lineal de Spearman.
Planteamos hipótesis para las variables Longitud y Ancho de Pétalos
H0: \(\rho\) = 0
H1: \(\rho\) ≠ 0
cor.test(VERSICOLOR$Longitud_petalos, VERSICOLOR$Ancho_petalos, method = "spearman", conf.level = 0.99)## Warning in cor.test.default(VERSICOLOR$Longitud_petalos,
## VERSICOLOR$Ancho_petalos, : Cannot compute exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: VERSICOLOR$Longitud_petalos and VERSICOLOR$Ancho_petalos
## S = 4435.5, p-value = 1.229e-11
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.7870096
¿Qué significa?
Analicemos los resultados:
S = 4435.5 (valor del estadístico de prueba para Spearman)
p-value = 1.229e-11
rho = 0.7870096 (coeficiente de correlación de Spearman)
| Aspecto | Correlación de Pearson | Correlación de Spearman |
|---|---|---|
| Tipo de relación que evalúa | Lineal | Monótona ( Creciente o decreciente) |
| Supuestos principales | Normalidad bivariada Linealidad Homocedasticidad |
No requiere normalidad No requiere linealidad No requiere homocedasticidad |
| Sensibilidad a valores atípicos (outliers) | Alta, los valores extremos modifican drásticamente el coeficiente que usa medias y d.e. | Baja (usa rangos, es robusta a outliers) |
📌 Sobre los supuestos para aplicar la correlación de Pearson
📌 Sobre la relación entre variables
📌 Sobre el contexto y las variables
📌 Sobre el uso de la prueba de hipótesis