PARTE 1

PCA nos permite crear informes dinamicos, interactivos y personalizados, e incluir explicaciones detalladas que facilitan el entendimiento de los gráficos.

## Cargando paquete requerido: MASS
## Cargando paquete requerido: ggplot2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ✖ dplyr::select() masks MASS::select()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa

Cargamos los datos de wine

## 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>

El dataset contiene parametros de vinos. Todas las columnas, excepto la primera que es categorica, son numericas

## [1] "spec_tbl_df" "tbl_df"      "tbl"         "data.frame"
## [1] 14
##  [1] "Cultivar"                     "Alcohol"                     
##  [3] "Malic acid"                   "Ash"                         
##  [5] "Alcalinity of ash"            "Magnesium"                   
##  [7] "Total phenols"                "Flavanoids"                  
##  [9] "Nonflavanoid phenols"         "Proanthocyanins"             
## [11] "Color intensity"              "Hue"                         
## [13] "OD280/OD315 of diluted wines" "Proline"
## [1] "numeric"
## [1] "numeric"
## Warning: Unknown or uninitialised column: `Malicacid`.
## [1] "NULL"
## [1] "numeric"
## Warning: Unknown or uninitialised column: `Alcalinityofash`.
## [1] "NULL"
## [1] "numeric"
## Warning: Unknown or uninitialised column: `Totalphenols`.
## [1] "NULL"
## [1] "numeric"
## Warning: Unknown or uninitialised column: `Nonflavanoidphenols`.
## [1] "NULL"
## [1] "numeric"
## Warning: Unknown or uninitialised column: `Colorintensity`.
## [1] "NULL"
## [1] "numeric"
## Warning: Unknown or uninitialised column: `OD280OD315ofdilutedwines`.
## [1] "NULL"
## [1] "numeric"
## [1] 1 2 3

Los beneficios de la PCA son:

## [1] FALSE
## [1] FALSE
## 
## Adjuntando el paquete: 'scales'
## The following object is masked from 'package:purrr':
## 
##     discard
## The following object is masked from 'package:readr':
## 
##     col_factor

La funcion prcomp en R se utiliza para realizar un analisis de Componentes Principales (PCA) en un conjunto de datos.

## [1] 178  13
## [1] "prcomp"
## [1] "sdev"     "rotation" "center"   "scale"    "x"
## [1] 178  13

El concepto fundamental que se utiliza para seleccionar el numero optimo de componentes principales en un Analisis de Componentes Principales (PCA) es la varianza explicada.

El grafico indica que se deben examinar tres componentes principales, que representan casi el 65% de la varianza.

##                               PC1   PC2   PC3
## Alcohol                     -0.12 -0.48 -0.17
## Malic acid                   0.26 -0.18  0.15
## Ash                          0.01 -0.30  0.62
## Alcalinity of ash            0.24  0.06  0.61
## Magnesium                   -0.13 -0.33  0.10
## Total phenols               -0.39 -0.06  0.15
## Flavanoids                  -0.43  0.05  0.16
## Nonflavanoid phenols         0.29  0.01  0.17
## Proanthocyanins             -0.32 -0.04  0.25
## Color intensity              0.08 -0.53 -0.10
## Hue                         -0.33  0.23  0.02
## OD280OD315 of diluted wines -0.39  0.15  0.15
## Proline                     -0.24 -0.41 -0.13

El grafico permite observar mejor como quedan las observaciones del nuevo dataset en funcion de los valores de las primeras 2 PC

PARTE 2

Los beneficios de hacer un analisis de conglomerados es que al agrupar datos similares, reduce la complejidad visual y permite identificar patrones en grandes conjusntos de datos.

## Cargando paquete requerido: mclust
## Package 'mclust' version 6.1.1
## Type 'citation("mclust")' for citing this R package in publications.
## 
## Adjuntando el paquete: 'mclust'
## The following object is masked from 'package:shiny':
## 
##     em
## The following object is masked from 'package:purrr':
## 
##     map
## Cargando paquete requerido: knitr
## Cargando paquete requerido: reshape2
## 
## Adjuntando el paquete: 'reshape2'
## The following object is masked from 'package:tidyr':
## 
##     smiths
## Cargando paquete requerido: viridisLite
## Cargando paquete requerido: viridis
## 
## Adjuntando el paquete: 'viridis'
## The following object is masked from 'package:scales':
## 
##     viridis_pal
## Cargando paquete requerido: rpart
## Cargando paquete requerido: rpart.plot

La matriz de distancias es una representacion tabular que muestra la distancia entre pares de elementos en un conjunto de datos. Cada celda de la matriz corresponde a la distancia entre dos elementos especificos.

Existen distintos tipos de algoritmos como: Euclidianas, Manhattan, Mahalanobis, Minkowski, Coseno

La funcion cmdscale busca representar puntos de datos en un espacio de menor dimension, preservando al maximo las relaciones de distancia entre ellos.

Diagrama PCA

```

Los widgets se crean utilizando funciones especaficas de Shiny, como sliderInput, textInput, selectInput, etc. Cada funcion tiene sus propios argumentos para personalizar su apariencia y comportamiento. Cuando el usuario interactua con un widget (por ejemplo, mueve un deslizador o selecciona una opcion de un menu desplegable), se desencadena un evento que actualiza la aplicacion. Shiny detecta el cambio en el valor del widget y ejecuta el codigo correspondiente en el servidor para actualizar los resultados y mostrarlos en la interfaz.

Diagrama de conglomerados

Comentario: Fue un trabajo interesante, aunque bastante extenso.