Parte 1 PCA de wine

En sus propias palabras indique cuáles son los beneficios de los archivos RMD en la visualización de los datos:

Los archivos RMD permiten integrar análisis estadísticos, visualizaciones y explicaciones en un solo entorno reproducible y dinámico, facilitando la comunicación clara de los resultados.

## Warning: package 'tidyverse' was built under R version 4.4.3
## Warning: package 'ggplot2' was built under R version 4.4.3
## Warning: package 'tibble' was built under R version 4.4.3
## Warning: package 'tidyr' was built under R version 4.4.3
## Warning: package 'readr' was built under R version 4.4.3
## Warning: package 'purrr' was built under R version 4.4.3
## Warning: package 'dplyr' was built under R version 4.4.3
## Warning: package 'stringr' was built under R version 4.4.3
## Warning: package 'forcats' was built under R version 4.4.3
## Warning: package 'lubridate' was built under R version 4.4.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Warning: package 'factoextra' was built under R version 4.4.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
## Warning: package 'cluster' was built under R version 4.4.3
## Warning: package 'viridis' was built under R version 4.4.3
## Cargando paquete requerido: viridisLite
## Warning: package 'viridisLite' was built under R version 4.4.3
## Warning: package 'shiny' was built under R version 4.4.3

Proceda a cargar los datos de wine.csv
_El URL es https://www.jaredlander.com/data/wine.csv_

## Rows: 178 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (14): Cultivar, Alcohol, Malic acid, Ash, Alcalinity of ash, Magnesium, ...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 5 × 14
##   Cultivar Alcohol `Malic acid`   Ash `Alcalinity of ash` Magnesium
##      <dbl>   <dbl>        <dbl> <dbl>               <dbl>     <dbl>
## 1        1    14.2         1.71  2.43                15.6       127
## 2        1    13.2         1.78  2.14                11.2       100
## 3        1    13.2         2.36  2.67                18.6       101
## 4        1    14.4         1.95  2.5                 16.8       113
## 5        1    13.2         2.59  2.87                21         118
## # ℹ 8 more variables: `Total phenols` <dbl>, Flavanoids <dbl>,
## #   `Nonflavanoid phenols` <dbl>, Proanthocyanins <dbl>,
## #   `Color intensity` <dbl>, Hue <dbl>, `OD280/OD315 of diluted wines` <dbl>,
## #   Proline <dbl>

Indique aquí de qué se trata el dataset que acaba de cargar y los tipos de cada variable. Nos interesa especialmente aquellas que no sean numéricas:

## spc_tbl_ [178 × 14] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ Cultivar                    : num [1:178] 1 1 1 1 1 1 1 1 1 1 ...
##  $ Alcohol                     : num [1:178] 14.2 13.2 13.2 14.4 13.2 ...
##  $ Malic acid                  : num [1:178] 1.71 1.78 2.36 1.95 2.59 1.76 1.87 2.15 1.64 1.35 ...
##  $ Ash                         : num [1:178] 2.43 2.14 2.67 2.5 2.87 2.45 2.45 2.61 2.17 2.27 ...
##  $ Alcalinity of ash           : num [1:178] 15.6 11.2 18.6 16.8 21 15.2 14.6 17.6 14 16 ...
##  $ Magnesium                   : num [1:178] 127 100 101 113 118 112 96 121 97 98 ...
##  $ Total phenols               : num [1:178] 2.8 2.65 2.8 3.85 2.8 3.27 2.5 2.6 2.8 2.98 ...
##  $ Flavanoids                  : num [1:178] 3.06 2.76 3.24 3.49 2.69 3.39 2.52 2.51 2.98 3.15 ...
##  $ Nonflavanoid phenols        : num [1:178] 0.28 0.26 0.3 0.24 0.39 0.34 0.3 0.31 0.29 0.22 ...
##  $ Proanthocyanins             : num [1:178] 2.29 1.28 2.81 2.18 1.82 1.97 1.98 1.25 1.98 1.85 ...
##  $ Color intensity             : num [1:178] 5.64 4.38 5.68 7.8 4.32 6.75 5.25 5.05 5.2 7.22 ...
##  $ Hue                         : num [1:178] 1.04 1.05 1.03 0.86 1.04 1.05 1.02 1.06 1.08 1.01 ...
##  $ OD280/OD315 of diluted wines: num [1:178] 3.92 3.4 3.17 3.45 2.93 2.85 3.58 3.58 2.85 3.55 ...
##  $ Proline                     : num [1:178] 1065 1050 1185 1480 735 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   Cultivar = col_double(),
##   ..   Alcohol = col_double(),
##   ..   `Malic acid` = col_double(),
##   ..   Ash = col_double(),
##   ..   `Alcalinity of ash` = col_double(),
##   ..   Magnesium = col_double(),
##   ..   `Total phenols` = col_double(),
##   ..   Flavanoids = col_double(),
##   ..   `Nonflavanoid phenols` = col_double(),
##   ..   Proanthocyanins = col_double(),
##   ..   `Color intensity` = col_double(),
##   ..   Hue = col_double(),
##   ..   `OD280/OD315 of diluted wines` = col_double(),
##   ..   Proline = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>

Aplicación de PCA

Indique qué beneficios obtenemos de PCA:
> PCA permite reducir la dimensión de los datos conservando la mayor parte de la información. Es útil para visualizar relaciones complejas, eliminar redundancias y mejorar el desempeño de modelos.

A continuación, proceda a revisar la data para asegurarse que no tiene variables con valor 0 o negativos:

##     Cultivar        Alcohol        Malic acid         Ash       
##  Min.   :1.000   Min.   :11.03   Min.   :0.740   Min.   :1.360  
##  1st Qu.:1.000   1st Qu.:12.36   1st Qu.:1.603   1st Qu.:2.210  
##  Median :2.000   Median :13.05   Median :1.865   Median :2.360  
##  Mean   :1.938   Mean   :13.00   Mean   :2.336   Mean   :2.367  
##  3rd Qu.:3.000   3rd Qu.:13.68   3rd Qu.:3.083   3rd Qu.:2.558  
##  Max.   :3.000   Max.   :14.83   Max.   :5.800   Max.   :3.230  
##  Alcalinity of ash   Magnesium      Total phenols     Flavanoids   
##  Min.   :10.60     Min.   : 70.00   Min.   :0.980   Min.   :0.340  
##  1st Qu.:17.20     1st Qu.: 88.00   1st Qu.:1.742   1st Qu.:1.205  
##  Median :19.50     Median : 98.00   Median :2.355   Median :2.135  
##  Mean   :19.49     Mean   : 99.74   Mean   :2.295   Mean   :2.029  
##  3rd Qu.:21.50     3rd Qu.:107.00   3rd Qu.:2.800   3rd Qu.:2.875  
##  Max.   :30.00     Max.   :162.00   Max.   :3.880   Max.   :5.080  
##  Nonflavanoid phenols Proanthocyanins Color intensity       Hue        
##  Min.   :0.1300       Min.   :0.410   Min.   : 1.280   Min.   :0.4800  
##  1st Qu.:0.2700       1st Qu.:1.250   1st Qu.: 3.220   1st Qu.:0.7825  
##  Median :0.3400       Median :1.555   Median : 4.690   Median :0.9650  
##  Mean   :0.3619       Mean   :1.591   Mean   : 5.058   Mean   :0.9574  
##  3rd Qu.:0.4375       3rd Qu.:1.950   3rd Qu.: 6.200   3rd Qu.:1.1200  
##  Max.   :0.6600       Max.   :3.580   Max.   :13.000   Max.   :1.7100  
##  OD280/OD315 of diluted wines    Proline      
##  Min.   :1.270                Min.   : 278.0  
##  1st Qu.:1.938                1st Qu.: 500.5  
##  Median :2.780                Median : 673.5  
##  Mean   :2.612                Mean   : 746.9  
##  3rd Qu.:3.170                3rd Qu.: 985.0  
##  Max.   :4.000                Max.   :1680.0

Indique en este lugar cuál es el propósito de la función prcomp:
> La función prcomp() realiza el análisis de componentes principales utilizando descomposición en valores singulares para identificar combinaciones lineales de variables que explican mayor varianza.

Aplicando PRCOMP

## Importance of components:
##                           PC1    PC2    PC3     PC4     PC5     PC6     PC7
## Standard deviation     2.3529 1.5802 1.2025 0.96328 0.93675 0.82023 0.74418
## Proportion of Variance 0.3954 0.1784 0.1033 0.06628 0.06268 0.04806 0.03956
## Cumulative Proportion  0.3954 0.5738 0.6771 0.74336 0.80604 0.85409 0.89365
##                           PC8     PC9    PC10    PC11    PC12    PC13    PC14
## Standard deviation     0.5916 0.54272 0.51216 0.47524 0.41085 0.35995 0.24044
## Proportion of Variance 0.0250 0.02104 0.01874 0.01613 0.01206 0.00925 0.00413
## Cumulative Proportion  0.9186 0.93969 0.95843 0.97456 0.98662 0.99587 1.00000

Indique aquí cuál es el concepto que se utiliza para la selección de componentes principales:
> Se eligen los componentes que explican el mayor porcentaje acumulado de varianza, típicamente hasta cubrir el 80% del total.

Realice un análisis de la visualización anterior, que indica:
> El gráfico muestra cuánta varianza explica cada componente. Permite decidir cuántos componentes conservar para un análisis eficiente.

Relación entre las variables originales y las Componentes Principales

Análisis de la visualización anterior:
> Muestra la correlación entre variables originales y componentes principales. Vectores más largos indican mayor contribución.

Indique cuál es el concepto de la calidad de la representación cos2:
> El cos2 indica la calidad de representación de cada variable sobre los componentes. Valores altos significan mejor representación.

Análisis de la visualización anterior:
> Las variables mejor representadas tienen mayor cos2, lo que ayuda a interpretar con mayor confianza sus contribuciones a los ejes.

Parte 2 MDS de wine

En sus propias palabras indique cuáles son los beneficios de hacer un análisis de conglomerados y en qué nos ayuda en la visualización de los datos:
> El análisis de conglomerados permite descubrir patrones y agrupar observaciones similares. Ayuda a simplificar la interpretación visual de grandes volúmenes de datos.

Indique aquí qué es la matriz de distancias y qué algoritmos de distancias existen:
> Es una matriz que representa cuán similares o diferentes son los objetos entre sí. Algoritmos comunes: euclidiana, Manhattan, Canberra, etc.

indique aquí qué hace la función cmdscale:
> Convierte la matriz de distancias en coordenadas de menor dimensión (usualmente 2D) preservando la estructura de distancias originales.

Cree el diagrama de los componentes principales del MDS

indique cómo nos ayudan los widgets de Shiny para ingresar argumentos:
> Los widgets permiten al usuario controlar parámetros en tiempo real, como el número de clusters, lo que mejora la exploración y comprensión de los resultados.

Obtenga el diagrama de conglomerados de acuerdo al widget anterior

Comentario final

Este trabajo integró técnicas estadísticas para explorar relaciones multivariadas. Gracias a PCA y MDS, pudimos visualizar de forma clara la estructura interna del dataset. El uso de RMarkdown y Shiny permitió crear una aplicación ligera, interactiva y profesional.