# Limpiar entorno
rm(list = ls())
options(encoding = "UTF-8")

# Cargar paquetes
library(readxl)
library(FactoMineR)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(factoextra)  # <- NECESARIO para fviz_*
## Cargando paquete requerido: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
# Leer datos
data <- read_excel("C:/Surco/AFirstWeek/Bases/breastcancer.xlsx")

# Eliminar columna ID si existe
data <- data %>% select(-id)

# Convertir diagnosis a factor
data$diagnosis <- as.factor(data$diagnosis)

# Mover diagnosis al final (para facilitar uso de ncol)
data <- data %>% relocate(diagnosis, .after = last_col())

# Verificar tipos de datos
str(data)
## tibble [569 × 31] (S3: tbl_df/tbl/data.frame)
##  $ radius_mean            : num [1:569] 18 20.6 19.7 11.4 20.3 ...
##  $ texture_mean           : num [1:569] 10.4 17.8 21.2 20.4 14.3 ...
##  $ perimeter_mean         : num [1:569] 122.8 132.9 130 77.6 135.1 ...
##  $ area_mean              : num [1:569] 1001 1326 1203 386 1297 ...
##  $ smoothness_mean        : num [1:569] 0.1184 0.0847 0.1096 0.1425 0.1003 ...
##  $ compactness_mean       : num [1:569] 0.2776 0.0786 0.1599 0.2839 0.1328 ...
##  $ concavity_mean         : num [1:569] 0.3001 0.0869 0.1974 0.2414 0.198 ...
##  $ concave points_mean    : num [1:569] 0.1471 0.0702 0.1279 0.1052 0.1043 ...
##  $ symmetry_mean          : num [1:569] 0.242 0.181 0.207 0.26 0.181 ...
##  $ fractal_dimension_mean : num [1:569] 0.0787 0.0567 0.06 0.0974 0.0588 ...
##  $ radius_se              : num [1:569] 1.095 0.543 0.746 0.496 0.757 ...
##  $ texture_se             : num [1:569] 0.905 0.734 0.787 1.156 0.781 ...
##  $ perimeter_se           : num [1:569] 8.59 3.4 4.58 3.44 5.44 ...
##  $ area_se                : num [1:569] 153.4 74.1 94 27.2 94.4 ...
##  $ smoothness_se          : num [1:569] 0.0064 0.00522 0.00615 0.00911 0.01149 ...
##  $ compactness_se         : num [1:569] 0.049 0.0131 0.0401 0.0746 0.0246 ...
##  $ concavity_se           : num [1:569] 0.0537 0.0186 0.0383 0.0566 0.0569 ...
##  $ concave points_se      : num [1:569] 0.0159 0.0134 0.0206 0.0187 0.0188 ...
##  $ symmetry_se            : num [1:569] 0.03 0.0139 0.0225 0.0596 0.0176 ...
##  $ fractal_dimension_se   : num [1:569] 0.00619 0.00353 0.00457 0.00921 0.00511 ...
##  $ radius_worst           : num [1:569] 25.4 25 23.6 14.9 22.5 ...
##  $ texture_worst          : num [1:569] 17.3 23.4 25.5 26.5 16.7 ...
##  $ perimeter_worst        : num [1:569] 184.6 158.8 152.5 98.9 152.2 ...
##  $ area_worst             : num [1:569] 2019 1956 1709 568 1575 ...
##  $ smoothness_worst       : num [1:569] 0.162 0.124 0.144 0.21 0.137 ...
##  $ compactness_worst      : num [1:569] 0.666 0.187 0.424 0.866 0.205 ...
##  $ concavity_worst        : num [1:569] 0.712 0.242 0.45 0.687 0.4 ...
##  $ concave points_worst   : num [1:569] 0.265 0.186 0.243 0.258 0.163 ...
##  $ symmetry_worst         : num [1:569] 0.46 0.275 0.361 0.664 0.236 ...
##  $ fractal_dimension_worst: num [1:569] 0.1189 0.089 0.0876 0.173 0.0768 ...
##  $ diagnosis              : Factor w/ 2 levels "B","M": 2 2 2 2 2 2 2 2 2 2 ...
# Ejecutar PCA con diagnosis como variable suplementaria
pcacancer <- PCA(data, quali.sup = ncol(data), graph = FALSE)

# Revisar estructura de resultados
str(pcacancer)
## List of 6
##  $ eig      : num [1:30, 1:3] 13.28 5.69 2.82 1.98 1.65 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:30] "comp 1" "comp 2" "comp 3" "comp 4" ...
##   .. ..$ : chr [1:3] "eigenvalue" "percentage of variance" "cumulative percentage of variance"
##  $ var      :List of 4
##   ..$ coord  : num [1:30, 1:5] 0.798 0.378 0.829 0.805 0.52 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:30] "radius_mean" "texture_mean" "perimeter_mean" "area_mean" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ cor    : num [1:30, 1:5] 0.798 0.378 0.829 0.805 0.52 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:30] "radius_mean" "texture_mean" "perimeter_mean" "area_mean" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ cos2   : num [1:30, 1:5] 0.636 0.143 0.688 0.649 0.27 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:30] "radius_mean" "texture_mean" "perimeter_mean" "area_mean" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ contrib: num [1:30, 1:5] 4.79 1.08 5.18 4.88 2.03 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:30] "radius_mean" "texture_mean" "perimeter_mean" "area_mean" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##  $ ind      :List of 4
##   ..$ coord  : num [1:569, 1:5] 9.19 2.39 5.73 7.12 3.94 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:569] "1" "2" "3" "4" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ cos2   : num [1:569, 1:5] 0.737 0.216 0.878 0.259 0.45 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:569] "1" "2" "3" "4" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ contrib: num [1:569, 1:5] 1.1182 0.0754 0.435 0.6714 0.2049 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:569] "1" "2" "3" "4" ...
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ dist   : Named num [1:569] 10.71 5.13 6.12 13.99 5.87 ...
##   .. ..- attr(*, "names")= chr [1:569] "1" "2" "3" "4" ...
##  $ svd      :List of 3
##   ..$ vs: num [1:30] 3.64 2.39 1.68 1.41 1.28 ...
##   ..$ U : num [1:569, 1:5] 2.522 0.655 1.573 1.954 1.08 ...
##   ..$ V : num [1:30, 1:5] 0.219 0.104 0.228 0.221 0.143 ...
##  $ quali.sup:List of 5
##   ..$ coord : num [1:2, 1:5] -2.206 3.715 0.346 -0.583 0.213 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:2] "B" "M"
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ cos2  : num [1:2, 1:5] 0.96032 0.96032 0.02366 0.02366 0.00897 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:2] "B" "M"
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ v.test: num [1:2, 1:5] -18.72 18.72 4.49 -4.49 3.93 ...
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr [1:2] "B" "M"
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##   ..$ dist  : Named num [1:2] 2.25 3.79
##   .. ..- attr(*, "names")= chr [1:2] "B" "M"
##   ..$ eta2  : num [1, 1:5] 0.617 0.03548 0.02715 0.01627 0.00986
##   .. ..- attr(*, "dimnames")=List of 2
##   .. .. ..$ : chr "diagnosis"
##   .. .. ..$ : chr [1:5] "Dim.1" "Dim.2" "Dim.3" "Dim.4" ...
##  $ call     :List of 10
##   ..$ row.w     : num [1:569] 0.00176 0.00176 0.00176 0.00176 0.00176 ...
##   ..$ col.w     : num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
##   ..$ scale.unit: logi TRUE
##   ..$ ncp       : num 5
##   ..$ centre    : num [1:30] 14.1273 19.2896 91.969 654.8891 0.0964 ...
##   ..$ ecart.type: num [1:30] 3.521 4.2973 24.2776 351.6048 0.0141 ...
##   ..$ X         :'data.frame':   569 obs. of  31 variables:
##   .. ..$ radius_mean            : num [1:569] 18 20.6 19.7 11.4 20.3 ...
##   .. ..$ texture_mean           : num [1:569] 10.4 17.8 21.2 20.4 14.3 ...
##   .. ..$ perimeter_mean         : num [1:569] 122.8 132.9 130 77.6 135.1 ...
##   .. ..$ area_mean              : num [1:569] 1001 1326 1203 386 1297 ...
##   .. ..$ smoothness_mean        : num [1:569] 0.1184 0.0847 0.1096 0.1425 0.1003 ...
##   .. ..$ compactness_mean       : num [1:569] 0.2776 0.0786 0.1599 0.2839 0.1328 ...
##   .. ..$ concavity_mean         : num [1:569] 0.3001 0.0869 0.1974 0.2414 0.198 ...
##   .. ..$ concave points_mean    : num [1:569] 0.1471 0.0702 0.1279 0.1052 0.1043 ...
##   .. ..$ symmetry_mean          : num [1:569] 0.242 0.181 0.207 0.26 0.181 ...
##   .. ..$ fractal_dimension_mean : num [1:569] 0.0787 0.0567 0.06 0.0974 0.0588 ...
##   .. ..$ radius_se              : num [1:569] 1.095 0.543 0.746 0.496 0.757 ...
##   .. ..$ texture_se             : num [1:569] 0.905 0.734 0.787 1.156 0.781 ...
##   .. ..$ perimeter_se           : num [1:569] 8.59 3.4 4.58 3.44 5.44 ...
##   .. ..$ area_se                : num [1:569] 153.4 74.1 94 27.2 94.4 ...
##   .. ..$ smoothness_se          : num [1:569] 0.0064 0.00522 0.00615 0.00911 0.01149 ...
##   .. ..$ compactness_se         : num [1:569] 0.049 0.0131 0.0401 0.0746 0.0246 ...
##   .. ..$ concavity_se           : num [1:569] 0.0537 0.0186 0.0383 0.0566 0.0569 ...
##   .. ..$ concave points_se      : num [1:569] 0.0159 0.0134 0.0206 0.0187 0.0188 ...
##   .. ..$ symmetry_se            : num [1:569] 0.03 0.0139 0.0225 0.0596 0.0176 ...
##   .. ..$ fractal_dimension_se   : num [1:569] 0.00619 0.00353 0.00457 0.00921 0.00511 ...
##   .. ..$ radius_worst           : num [1:569] 25.4 25 23.6 14.9 22.5 ...
##   .. ..$ texture_worst          : num [1:569] 17.3 23.4 25.5 26.5 16.7 ...
##   .. ..$ perimeter_worst        : num [1:569] 184.6 158.8 152.5 98.9 152.2 ...
##   .. ..$ area_worst             : num [1:569] 2019 1956 1709 568 1575 ...
##   .. ..$ smoothness_worst       : num [1:569] 0.162 0.124 0.144 0.21 0.137 ...
##   .. ..$ compactness_worst      : num [1:569] 0.666 0.187 0.424 0.866 0.205 ...
##   .. ..$ concavity_worst        : num [1:569] 0.712 0.242 0.45 0.687 0.4 ...
##   .. ..$ concave points_worst   : num [1:569] 0.265 0.186 0.243 0.258 0.163 ...
##   .. ..$ symmetry_worst         : num [1:569] 0.46 0.275 0.361 0.664 0.236 ...
##   .. ..$ fractal_dimension_worst: num [1:569] 0.1189 0.089 0.0876 0.173 0.0768 ...
##   .. ..$ diagnosis              : Factor w/ 2 levels "B","M": 2 2 2 2 2 2 2 2 2 2 ...
##   ..$ row.w.init: num [1:569] 1 1 1 1 1 1 1 1 1 1 ...
##   ..$ call      : language PCA(X = data, quali.sup = ncol(data), graph = FALSE)
##   ..$ quali.sup :List of 5
##   .. ..$ quali.sup :'data.frame':    569 obs. of  1 variable:
##   .. .. ..$ diagnosis: Factor w/ 2 levels "B","M": 2 2 2 2 2 2 2 2 2 2 ...
##   .. ..$ modalite  : int 2
##   .. ..$ nombre    : num [1:2] 357 212
##   .. ..$ barycentre:'data.frame':    2 obs. of  30 variables:
##   .. .. ..$ radius_mean            : num [1:2] 12.1 17.5
##   .. .. ..$ texture_mean           : num [1:2] 17.9 21.6
##   .. .. ..$ perimeter_mean         : num [1:2] 78.1 115.4
##   .. .. ..$ area_mean              : num [1:2] 463 978
##   .. .. ..$ smoothness_mean        : num [1:2] 0.0925 0.1029
##   .. .. ..$ compactness_mean       : num [1:2] 0.0801 0.1452
##   .. .. ..$ concavity_mean         : num [1:2] 0.0461 0.1608
##   .. .. ..$ concave points_mean    : num [1:2] 0.0257 0.088
##   .. .. ..$ symmetry_mean          : num [1:2] 0.174 0.193
##   .. .. ..$ fractal_dimension_mean : num [1:2] 0.0629 0.0627
##   .. .. ..$ radius_se              : num [1:2] 0.284 0.609
##   .. .. ..$ texture_se             : num [1:2] 1.22 1.21
##   .. .. ..$ perimeter_se           : num [1:2] 2 4.32
##   .. .. ..$ area_se                : num [1:2] 21.1 72.7
##   .. .. ..$ smoothness_se          : num [1:2] 0.0072 0.00678
##   .. .. ..$ compactness_se         : num [1:2] 0.0214 0.0323
##   .. .. ..$ concavity_se           : num [1:2] 0.026 0.0418
##   .. .. ..$ concave points_se      : num [1:2] 0.00986 0.01506
##   .. .. ..$ symmetry_se            : num [1:2] 0.0206 0.0205
##   .. .. ..$ fractal_dimension_se   : num [1:2] 0.00364 0.00406
##   .. .. ..$ radius_worst           : num [1:2] 13.4 21.1
##   .. .. ..$ texture_worst          : num [1:2] 23.5 29.3
##   .. .. ..$ perimeter_worst        : num [1:2] 87 141
##   .. .. ..$ area_worst             : num [1:2] 559 1422
##   .. .. ..$ smoothness_worst       : num [1:2] 0.125 0.145
##   .. .. ..$ compactness_worst      : num [1:2] 0.183 0.375
##   .. .. ..$ concavity_worst        : num [1:2] 0.166 0.451
##   .. .. ..$ concave points_worst   : num [1:2] 0.0744 0.1822
##   .. .. ..$ symmetry_worst         : num [1:2] 0.27 0.323
##   .. .. ..$ fractal_dimension_worst: num [1:2] 0.0794 0.0915
##   .. ..$ numero    : int 31
##  - attr(*, "class")= chr [1:2] "PCA" "list"
pcacancer$eig       # Varianza explicada
##           eigenvalue percentage of variance cumulative percentage of variance
## comp 1  1.328161e+01           4.427203e+01                          44.27203
## comp 2  5.691355e+00           1.897118e+01                          63.24321
## comp 3  2.817949e+00           9.393163e+00                          72.63637
## comp 4  1.980640e+00           6.602135e+00                          79.23851
## comp 5  1.648731e+00           5.495768e+00                          84.73427
## comp 6  1.207357e+00           4.024522e+00                          88.75880
## comp 7  6.752201e-01           2.250734e+00                          91.00953
## comp 8  4.766171e-01           1.588724e+00                          92.59825
## comp 9  4.168948e-01           1.389649e+00                          93.98790
## comp 10 3.506935e-01           1.168978e+00                          95.15688
## comp 11 2.939157e-01           9.797190e-01                          96.13660
## comp 12 2.611614e-01           8.705379e-01                          97.00714
## comp 13 2.413575e-01           8.045250e-01                          97.81166
## comp 14 1.570097e-01           5.233657e-01                          98.33503
## comp 15 9.413497e-02           3.137832e-01                          98.64881
## comp 16 7.986280e-02           2.662093e-01                          98.91502
## comp 17 5.939904e-02           1.979968e-01                          99.11302
## comp 18 5.261878e-02           1.753959e-01                          99.28841
## comp 19 4.947759e-02           1.649253e-01                          99.45334
## comp 20 3.115940e-02           1.038647e-01                          99.55720
## comp 21 2.997289e-02           9.990965e-02                          99.65711
## comp 22 2.743940e-02           9.146468e-02                          99.74858
## comp 23 2.434084e-02           8.113613e-02                          99.82971
## comp 24 1.805501e-02           6.018336e-02                          99.88990
## comp 25 1.548127e-02           5.160424e-02                          99.94150
## comp 26 8.177640e-03           2.725880e-02                          99.96876
## comp 27 6.900464e-03           2.300155e-02                          99.99176
## comp 28 1.589338e-03           5.297793e-03                          99.99706
## comp 29 7.488031e-04           2.496010e-03                          99.99956
## comp 30 1.330448e-04           4.434827e-04                         100.00000
pcacancer$var$coord # Coordenadas de variables
##                              Dim.1       Dim.2        Dim.3        Dim.4
## radius_mean             0.79776675 -0.55790267 -0.014321182 -0.058276998
## texture_mean            0.37801323 -0.14243819  0.108358294  0.848703801
## perimeter_mean          0.82923555 -0.51334871 -0.015635546 -0.059085011
## area_mean               0.80539280 -0.55126955  0.048177170 -0.075200175
## smoothness_mean         0.51965303  0.44400165 -0.175072188 -0.224307700
## compactness_mean        0.87205011  0.36236113 -0.124375651 -0.044746177
## concavity_mean          0.94171317  0.14353386  0.004589225 -0.026912451
## concave points_mean     0.95065387 -0.08294330 -0.042912871 -0.091950691
## symmetry_mean           0.50353484  0.45410669 -0.067549766 -0.094468500
## fractal_dimension_mean  0.23456539  0.87452298 -0.037894555 -0.068378695
## radius_se               0.75066782 -0.25181113  0.450692931 -0.137837831
## texture_se              0.06351460  0.21466057  0.628888081  0.506443503
## perimeter_se            0.77015490 -0.21341419  0.447610850 -0.125243679
## area_se                 0.73933688 -0.36331782  0.362604709 -0.152282609
## smoothness_se           0.05295834  0.48770074  0.518440202 -0.062858236
## compactness_se          0.62098087  0.55518008  0.259824807  0.038659071
## concavity_se            0.55974171  0.47046874  0.296225233 -0.001853314
## concave points_se       0.66844526  0.31090241  0.377126990 -0.104238834
## symmetry_se             0.15488099  0.43859809  0.484439170 -0.062026732
## fractal_dimension_se    0.37379938  0.66820323  0.355046033 -0.021539174
## radius_worst            0.83090957 -0.52452555 -0.079748785 -0.021697488
## texture_worst           0.38072738 -0.10846933 -0.071004288  0.890583627
## perimeter_worst         0.86240823 -0.47684117 -0.081493799 -0.019425394
## area_worst              0.81951682 -0.52329808 -0.019980121 -0.036443035
## smoothness_worst        0.46630955  0.41105891 -0.436115698 -0.024842887
## compactness_worst       0.76567217  0.34256392 -0.396294196  0.128531255
## concavity_worst         0.83371903  0.23370868 -0.290506982  0.104075362
## concave points_worst    0.91432733 -0.01969892 -0.285952302 -0.008453959
## symmetry_worst          0.44791263  0.33848486 -0.455445686  0.051017498
## fractal_dimension_worst 0.48027261  0.65686526 -0.390780903  0.108441378
##                                Dim.5
## radius_mean             -0.048518775
## texture_mean             0.063519440
## perimeter_mean          -0.047990153
## area_mean               -0.013265627
## smoothness_mean          0.468784268
## compactness_mean        -0.015028239
## concavity_mean          -0.110908536
## concave points_mean      0.056318830
## symmetry_mean            0.392837675
## fractal_dimension_mean   0.057042168
## radius_se                0.198326624
## texture_se               0.246084813
## perimeter_se             0.155354955
## area_se                  0.163809274
## smoothness_se            0.297979065
## compactness_se          -0.359487239
## concavity_se            -0.454523281
## concave points_se       -0.251089422
## symmetry_se              0.324690835
## fractal_dimension_se    -0.338081553
## radius_worst             0.005658192
## texture_worst            0.119264982
## perimeter_worst         -0.009571346
## area_worst               0.035170715
## smoothness_worst         0.416584530
## compactness_worst       -0.156400009
## concavity_worst         -0.242063518
## concave points_worst    -0.055639634
## symmetry_worst           0.314020423
## fractal_dimension_worst -0.121242324
pcacancer$var$cos2  # Coseno cuadrado
##                               Dim.1        Dim.2        Dim.3        Dim.4
## radius_mean             0.636431794 0.3112553921 2.050963e-04 3.396209e-03
## texture_mean            0.142894003 0.0202886376 1.174152e-02 7.202981e-01
## perimeter_mean          0.687631593 0.2635268968 2.444703e-04 3.491038e-03
## area_mean               0.648657563 0.3038981121 2.321040e-03 5.655066e-03
## smoothness_mean         0.270039269 0.1971374667 3.065027e-02 5.031394e-02
## compactness_mean        0.760471394 0.1313055907 1.546930e-02 2.002220e-03
## concavity_mean          0.886823686 0.0206019688 2.106098e-05 7.242800e-04
## concave points_mean     0.903742788 0.0068795905 1.841514e-03 8.454930e-03
## symmetry_mean           0.253547334 0.2062128847 4.562971e-03 8.924298e-03
## fractal_dimension_mean  0.055020924 0.7647904383 1.435997e-03 4.675646e-03
## radius_se               0.563502171 0.0634088430 2.031241e-01 1.899927e-02
## texture_se              0.004034105 0.0460791599 3.955002e-01 2.564850e-01
## perimeter_se            0.593138575 0.0455456160 2.003555e-01 1.568598e-02
## area_se                 0.546619028 0.1319998412 1.314822e-01 2.318999e-02
## smoothness_se           0.002804585 0.2378520114 2.687802e-01 3.951158e-03
## compactness_se          0.385617244 0.3082249180 6.750893e-02 1.494524e-03
## concavity_se            0.313310781 0.2213408352 8.774939e-02 3.434773e-06
## concave points_se       0.446819069 0.0966603104 1.422248e-01 1.086573e-02
## symmetry_se             0.023988122 0.1923682816 2.346813e-01 3.847315e-03
## fractal_dimension_se    0.139725975 0.4464955533 1.260577e-01 4.639360e-04
## radius_worst            0.690410709 0.2751270525 6.359869e-03 4.707810e-04
## texture_worst           0.144953341 0.0117655963 5.041609e-03 7.931392e-01
## perimeter_worst         0.743747963 0.2273775048 6.641239e-03 3.773459e-04
## area_worst              0.671607821 0.2738408793 3.992052e-04 1.328095e-03
## smoothness_worst        0.217444594 0.1689694296 1.901969e-01 6.171690e-04
## compactness_worst       0.586253867 0.1173500374 1.570491e-01 1.652028e-02
## concavity_worst         0.695087414 0.0546197464 8.439431e-02 1.083168e-02
## concave points_worst    0.835994467 0.0003880475 8.176872e-02 7.146943e-05
## symmetry_worst          0.200625723 0.1145720030 2.074308e-01 2.602785e-03
## fractal_dimension_worst 0.230661782 0.4314719683 1.527097e-01 1.175953e-02
##                                Dim.5
## radius_mean             2.354072e-03
## texture_mean            4.034719e-03
## perimeter_mean          2.303055e-03
## area_mean               1.759769e-04
## smoothness_mean         2.197587e-01
## compactness_mean        2.258480e-04
## concavity_mean          1.230070e-02
## concave points_mean     3.171811e-03
## symmetry_mean           1.543214e-01
## fractal_dimension_mean  3.253809e-03
## radius_se               3.933345e-02
## texture_se              6.055773e-02
## perimeter_se            2.413516e-02
## area_se                 2.683348e-02
## smoothness_se           8.879152e-02
## compactness_se          1.292311e-01
## concavity_se            2.065914e-01
## concave points_se       6.304590e-02
## symmetry_se             1.054241e-01
## fractal_dimension_se    1.142991e-01
## radius_worst            3.201514e-05
## texture_worst           1.422414e-02
## perimeter_worst         9.161067e-05
## area_worst              1.236979e-03
## smoothness_worst        1.735427e-01
## compactness_worst       2.446096e-02
## concavity_worst         5.859475e-02
## concave points_worst    3.095769e-03
## symmetry_worst          9.860883e-02
## fractal_dimension_worst 1.469970e-02
pcacancer$var$contrib # Contribución
##                              Dim.1        Dim.2        Dim.3        Dim.4
## radius_mean             4.79182799  5.468915807  0.007278210 1.714702e-01
## texture_mean            1.07587881  0.356481698  0.416669002 3.636693e+01
## perimeter_mean          5.17732197  4.630301829  0.008675469 1.762581e-01
## area_mean               4.88387836  5.339644650  0.082366279 2.855170e-01
## smoothness_mean         2.03318209  3.463805721  1.087680124 2.540287e+00
## compactness_mean        5.72574806  2.307106121  0.548956087 1.010895e-01
## concavity_mean          6.67708087  0.361987088  0.000747387 3.656797e-02
## concave points_mean     6.80446833  0.120877909  0.065349461 4.268786e-01
## symmetry_mean           1.90901086  3.623265438  0.161925247 4.505763e-01
## fractal_dimension_mean  0.41426404 13.437757622  0.050958953 2.360674e-01
## radius_se               4.24272561  1.114125676  7.208225536 9.592487e-01
## texture_se              0.03037362  0.809634314 14.035038303 1.294960e+01
## perimeter_se            4.46586429  0.800259675  7.109975188 7.919650e-01
## area_se                 4.11560890  2.319304458  4.665882031 1.170833e+00
## smoothness_se           0.02111631  4.179181013  9.538151522 1.994889e-01
## compactness_se          2.90339282  5.415668834  2.395676105 7.545659e-02
## concavity_se            2.35898235  3.889071235  3.113945256 1.734173e-04
## concave points_se       3.36419415  1.698370898  5.047102257 5.485970e-01
## symmetry_se             0.18061158  3.380008708  8.328089385 1.942460e-01
## fractal_dimension_se    1.05202607  7.845154337  4.473384240 2.342354e-02
## radius_worst            5.19824652  4.834122475  0.225691410 2.376913e-02
## texture_worst           1.09138400  0.206727521  0.178910581 4.004458e+01
## perimeter_worst         5.59983385  3.995138596  0.235676347 1.905171e-02
## area_worst              5.05667565  4.811523757  0.014166518 6.705380e-02
## smoothness_worst        1.63718579  2.968878960  6.749479988 3.116007e-02
## compactness_worst       4.41402789  2.061899941  5.573170087 8.340879e-01
## concavity_worst         5.23345841  0.959696770  2.994884133 5.468777e-01
## concave points_worst    6.29437706  0.006818193  2.901710407 3.608400e-03
## symmetry_worst          1.51055300  2.013088461  7.361054968 1.314113e-01
## fractal_dimension_worst 1.73670076  7.581182296  5.419179518 5.937237e-01
##                                Dim.5
## radius_mean              0.142780853
## texture_mean             0.244716717
## perimeter_mean           0.139686545
## area_mean                0.010673476
## smoothness_mean         13.328963320
## compactness_mean         0.013698294
## concavity_mean           0.746071176
## concave points_mean      0.192378954
## symmetry_mean            9.360015755
## fractal_dimension_mean   0.197352378
## radius_se                2.385680908
## texture_se               3.672991628
## perimeter_se             1.463863342
## area_se                  1.627523570
## smoothness_se            5.385447803
## compactness_se           7.838216812
## concavity_se            12.530332072
## concave points_se        3.823905492
## symmetry_se              6.394261226
## fractal_dimension_se     6.932554069
## radius_worst             0.001941805
## texture_worst            0.862732602
## perimeter_worst          0.005556437
## area_worst               0.075026157
## smoothness_worst        10.525835817
## compactness_worst        1.483624039
## concavity_worst          3.553931037
## concave points_worst     0.187766818
## symmetry_worst           5.980893978
## fractal_dimension_worst  0.891576921
# Individuos
head(pcacancer$ind$coord)
##      Dim.1     Dim.2      Dim.3      Dim.4      Dim.5
## 1 9.192837  1.948583 -1.1231662 -3.6337309  1.1951101
## 2 2.387802 -3.768172 -0.5292927 -1.1182639 -0.6217750
## 3 5.733896 -1.075174 -0.5517476 -0.9120827  0.1770859
## 4 7.122953 10.275589 -3.2327895 -0.1525470  2.9608784
## 5 3.935302 -1.948072  1.3897667 -2.9406393 -0.5467474
## 6 2.380247  3.949929 -2.9348768 -0.9410369  1.0560419
head(pcacancer$ind$cos2)
##       Dim.1      Dim.2       Dim.3        Dim.4        Dim.5
## 1 0.7366868 0.03309951 0.010996938 0.1151037016 0.0124508677
## 2 0.2164877 0.53913561 0.010637227 0.0474815863 0.0146792249
## 3 0.8781764 0.03087731 0.008131356 0.0222203296 0.0008376258
## 4 0.2593764 0.53978871 0.053427543 0.0001189646 0.0448178978
## 5 0.4498315 0.11023095 0.056101900 0.2511755035 0.0086829482
## 6 0.1722700 0.47439927 0.261905853 0.0269264275 0.0339099994
head(pcacancer$ind$contrib)
##        Dim.1      Dim.2      Dim.3       Dim.4       Dim.5
## 1 1.11824300 0.11724921 0.07867607 1.171622241 0.152248808
## 2 0.07544555 0.43846352 0.01747215 0.110961077 0.041210182
## 3 0.43504757 0.03569681 0.01898609 0.073815998 0.003342766
## 4 0.67136279 3.26051009 0.65179267 0.002064855 0.934499758
## 5 0.20492419 0.11718767 0.12045877 0.767300731 0.031864823
## 6 0.07496891 0.48178208 0.53719796 0.078576986 0.118877695
# Gráfico de varianza explicada
fviz_eig(pcacancer, addlabels = TRUE, ylim = c(0, 80))

# Variables: contribución y calidad de representación
fviz_pca_var(pcacancer, arrowsize = 1, labelsize = 4, repel = TRUE)

fviz_cos2(pcacancer, choice = "var", axes = 1:2, ylim = c(0, 1.0))

fviz_contrib(pcacancer, choice = "var", axes = 1, top = 15)

# Índice de malignidad: coordenada sobre el primer componente
data$indice_malignidad <- pcacancer$ind$coord[, 1]

# Boxplot para evaluar el índice por diagnóstico
boxplot(indice_malignidad ~ diagnosis, data = data,
        main = "Indice de Malignidad segun Diagnostico",
        col = c("skyblue", "salmon"))

# Biplot con individuos y variables
fviz_pca_biplot(pcacancer, 
                geom.ind = "point",
                col.ind = data$diagnosis,
                palette = "jco",
                addEllipses = TRUE,
                label = "var",
                col.var = "black",
                repel = TRUE,
                legend.title = "Diagnostico")  # sin tilde por seguridad