Análisis de correlaciones
Frutas y vegetales
Bibliotecas R
Datos
Frutas
Vegetales
¿Cuántos NA?
Frutas
Vegetales
Unión de datos
- Para poder unir las dos tablas, una abajo de la otra, es necesario validar que el orden y nombre de columnas sea igual en ambas tablas.
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
- Unimos los datos para hacer el análisis comparativo de frutas vs vegetales:
Code
- Verificamos si aún existen datos NA:
¿Asociación de variables?
Multicolinealidad
Correlaciones
Opción 1
- Correlación paramétrica de Pearson:
Code
- Correlación no paramétrica de Spearman:
Opción 2
- Correlación paramétrica de Pearson:
- Correlación no paramétrica de spearman:
Consideraciones
Cuarteto de Ascombe
¿Distribuciones?
- ¿Cómo podemos graficar las distribuciones de todas las variables numéricas?
Code
datos_completos %>%
pivot_longer(cols = water_g:vitamin_e_mg,
names_to = "variable",
values_to = "valores") %>%
ggplot(aes(x = valores)) +
facet_wrap(~variable, scales = "free") +
geom_density()- ¿El mismo comportamiento para frutas y vegetales?
Code
datos_completos %>%
pivot_longer(cols = water_g:vitamin_e_mg,
names_to = "variable",
values_to = "valores") %>%
ggplot(aes(x = valores, color = grupo)) +
facet_wrap(~variable, scales = "free") +
geom_density()- ¿El mismo comportamiento para frutas y vegetales?
Code
datos_completos %>%
pivot_longer(cols = water_g:vitamin_e_mg,
names_to = "variable",
values_to = "valores") %>%
ggplot(aes(x = valores, color = grupo)) +
facet_wrap(~variable, scales = "free") +
geom_density() +
scale_x_log10()Dispersión
- ¿Cómo quedan ubicados los grupos de frutas y vegetales si graficamos el contenido de azúcar y agua?
Code
datos_completos %>%
ggplot(aes(x = water_g, y = sugars_g, color = grupo)) +
geom_point()- ¿Cuáles son el vegetal y la fruta “atípicos”?
- ¿Qué pasa si al gráfico anterior los transformamos con logaritmos?
Code
datos_completos %>%
ggplot(aes(x = water_g, y = sugars_g, color = grupo)) +
geom_point() +
scale_y_log10()- ¿Qué pasa si filtramos water_g por encima de 50?
Code
datos_completos %>%
filter(water_g > 50) %>%
ggplot(aes(x = water_g, y = sugars_g, color = grupo)) +
geom_point() +
scale_y_log10()- ¿Cómo podemos vincular una variable más? Por ejemplo la proteína:
Code
datos_completos %>%
ggplot(aes(x = water_g, y = sugars_g, color = protein_g)) +
facet_wrap(~grupo, scales = "free") +
geom_point() +
scale_color_viridis_c()Distancias
- ¿Cuáles frutas son más parecidas?
- Distancia euclidiana
Code
vector_frutas <-
datos_completos %>%
filter(grupo == "Frutas") %>%
pull(name)
dist_frutas <-
datos_completos %>%
filter(grupo == "Frutas") %>%
select(where(is.numeric)) %>%
dist(method = "euclidean") %>%
as.matrix() %>%
as_tibble() %>%
set_names(vector_frutas) %>%
clean_names() %>%
mutate(fruta = vector_frutas) %>%
relocate(fruta, everything())
dist_frutas- ¿Cómo podemos comprobar que es correcto?
Code
1
2 1895.625
- Grafiquemos las distancias:
Code
dist_frutas %>%
pivot_longer(cols = -fruta) %>%
ggplot(aes(x = reorder(fruta, value), y = reorder(name, value), fill = value)) +
geom_tile() +
scale_fill_viridis_c() +
theme(axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "top") +
labs(fill = "distancia")Análisis Multivariado
- ¿Cómo podemos analizar todas las variables juntas? ¿Es posible?