## Libraries
library(stats) ## Computing distances matrix
library(FactoMineR) ## Computing
library(ggplot2) ## Graphical Exploration
library(factoextra) ## Visualization
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(readxl) ## lee archivos exceñ
library(pROC) #analiza curvas y analiza metricas
## Type 'citation("pROC")' for a citation.
##
## Adjuntando el paquete: 'pROC'
## The following objects are masked from 'package:stats':
##
## cov, smooth, var
library(dplyr) #manipula datos eficazmente
##
## 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(corrplot) #visualiza matrices de correlacion
## corrplot 0.95 loaded
### PCA para breastcancer con variables renombradas
# Leer datos
data <- read_excel("C:/Surco/AFirstWeek/Bases/breastcancer.xlsx")
data$diagnosis <- as.factor(data$diagnosis)
# Eliminar columna 'id'
bas <- data[, !names(data) %in% c("id")]
# Guardar nombres originales
nombres_originales <- names(bas)[names(bas) != "diagnosis"]
nombres_nuevos <- paste0("V", seq_along(nombres_originales))
# Renombrar variables numéricas
names(bas)[names(bas) != "diagnosis"] <- nombres_nuevos
# Ver correspondencia
data.frame(Variable = nombres_nuevos, Original = nombres_originales)
## Variable Original
## 1 V1 radius_mean
## 2 V2 texture_mean
## 3 V3 perimeter_mean
## 4 V4 area_mean
## 5 V5 smoothness_mean
## 6 V6 compactness_mean
## 7 V7 concavity_mean
## 8 V8 concave points_mean
## 9 V9 symmetry_mean
## 10 V10 fractal_dimension_mean
## 11 V11 radius_se
## 12 V12 texture_se
## 13 V13 perimeter_se
## 14 V14 area_se
## 15 V15 smoothness_se
## 16 V16 compactness_se
## 17 V17 concavity_se
## 18 V18 concave points_se
## 19 V19 symmetry_se
## 20 V20 fractal_dimension_se
## 21 V21 radius_worst
## 22 V22 texture_worst
## 23 V23 perimeter_worst
## 24 V24 area_worst
## 25 V25 smoothness_worst
## 26 V26 compactness_worst
## 27 V27 concavity_worst
## 28 V28 concave points_worst
## 29 V29 symmetry_worst
## 30 V30 fractal_dimension_worst
# Ejecutar PCA
pcao <- PCA(bas, quali.sup = which(names(bas) == "diagnosis"), graph = FALSE)
### Exploración
str(pcao)
## 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] "V1" "V2" "V3" "V4" ...
## .. .. ..$ : 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] "V1" "V2" "V3" "V4" ...
## .. .. ..$ : 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] "V1" "V2" "V3" "V4" ...
## .. .. ..$ : 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] "V1" "V2" "V3" "V4" ...
## .. .. ..$ : 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:
## .. ..$ diagnosis: Factor w/ 2 levels "B","M": 2 2 2 2 2 2 2 2 2 2 ...
## .. ..$ V1 : num [1:569] 18 20.6 19.7 11.4 20.3 ...
## .. ..$ V2 : num [1:569] 10.4 17.8 21.2 20.4 14.3 ...
## .. ..$ V3 : num [1:569] 122.8 132.9 130 77.6 135.1 ...
## .. ..$ V4 : num [1:569] 1001 1326 1203 386 1297 ...
## .. ..$ V5 : num [1:569] 0.1184 0.0847 0.1096 0.1425 0.1003 ...
## .. ..$ V6 : num [1:569] 0.2776 0.0786 0.1599 0.2839 0.1328 ...
## .. ..$ V7 : num [1:569] 0.3001 0.0869 0.1974 0.2414 0.198 ...
## .. ..$ V8 : num [1:569] 0.1471 0.0702 0.1279 0.1052 0.1043 ...
## .. ..$ V9 : num [1:569] 0.242 0.181 0.207 0.26 0.181 ...
## .. ..$ V10 : num [1:569] 0.0787 0.0567 0.06 0.0974 0.0588 ...
## .. ..$ V11 : num [1:569] 1.095 0.543 0.746 0.496 0.757 ...
## .. ..$ V12 : num [1:569] 0.905 0.734 0.787 1.156 0.781 ...
## .. ..$ V13 : num [1:569] 8.59 3.4 4.58 3.44 5.44 ...
## .. ..$ V14 : num [1:569] 153.4 74.1 94 27.2 94.4 ...
## .. ..$ V15 : num [1:569] 0.0064 0.00522 0.00615 0.00911 0.01149 ...
## .. ..$ V16 : num [1:569] 0.049 0.0131 0.0401 0.0746 0.0246 ...
## .. ..$ V17 : num [1:569] 0.0537 0.0186 0.0383 0.0566 0.0569 ...
## .. ..$ V18 : num [1:569] 0.0159 0.0134 0.0206 0.0187 0.0188 ...
## .. ..$ V19 : num [1:569] 0.03 0.0139 0.0225 0.0596 0.0176 ...
## .. ..$ V20 : num [1:569] 0.00619 0.00353 0.00457 0.00921 0.00511 ...
## .. ..$ V21 : num [1:569] 25.4 25 23.6 14.9 22.5 ...
## .. ..$ V22 : num [1:569] 17.3 23.4 25.5 26.5 16.7 ...
## .. ..$ V23 : num [1:569] 184.6 158.8 152.5 98.9 152.2 ...
## .. ..$ V24 : num [1:569] 2019 1956 1709 568 1575 ...
## .. ..$ V25 : num [1:569] 0.162 0.124 0.144 0.21 0.137 ...
## .. ..$ V26 : num [1:569] 0.666 0.187 0.424 0.866 0.205 ...
## .. ..$ V27 : num [1:569] 0.712 0.242 0.45 0.687 0.4 ...
## .. ..$ V28 : num [1:569] 0.265 0.186 0.243 0.258 0.163 ...
## .. ..$ V29 : num [1:569] 0.46 0.275 0.361 0.664 0.236 ...
## .. ..$ V30 : num [1:569] 0.1189 0.089 0.0876 0.173 0.0768 ...
## ..$ row.w.init: num [1:569] 1 1 1 1 1 1 1 1 1 1 ...
## ..$ call : language PCA(X = bas, quali.sup = which(names(bas) == "diagnosis"), 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:
## .. .. ..$ V1 : num [1:2] 12.1 17.5
## .. .. ..$ V2 : num [1:2] 17.9 21.6
## .. .. ..$ V3 : num [1:2] 78.1 115.4
## .. .. ..$ V4 : num [1:2] 463 978
## .. .. ..$ V5 : num [1:2] 0.0925 0.1029
## .. .. ..$ V6 : num [1:2] 0.0801 0.1452
## .. .. ..$ V7 : num [1:2] 0.0461 0.1608
## .. .. ..$ V8 : num [1:2] 0.0257 0.088
## .. .. ..$ V9 : num [1:2] 0.174 0.193
## .. .. ..$ V10: num [1:2] 0.0629 0.0627
## .. .. ..$ V11: num [1:2] 0.284 0.609
## .. .. ..$ V12: num [1:2] 1.22 1.21
## .. .. ..$ V13: num [1:2] 2 4.32
## .. .. ..$ V14: num [1:2] 21.1 72.7
## .. .. ..$ V15: num [1:2] 0.0072 0.00678
## .. .. ..$ V16: num [1:2] 0.0214 0.0323
## .. .. ..$ V17: num [1:2] 0.026 0.0418
## .. .. ..$ V18: num [1:2] 0.00986 0.01506
## .. .. ..$ V19: num [1:2] 0.0206 0.0205
## .. .. ..$ V20: num [1:2] 0.00364 0.00406
## .. .. ..$ V21: num [1:2] 13.4 21.1
## .. .. ..$ V22: num [1:2] 23.5 29.3
## .. .. ..$ V23: num [1:2] 87 141
## .. .. ..$ V24: num [1:2] 559 1422
## .. .. ..$ V25: num [1:2] 0.125 0.145
## .. .. ..$ V26: num [1:2] 0.183 0.375
## .. .. ..$ V27: num [1:2] 0.166 0.451
## .. .. ..$ V28: num [1:2] 0.0744 0.1822
## .. .. ..$ V29: num [1:2] 0.27 0.323
## .. .. ..$ V30: num [1:2] 0.0794 0.0915
## .. ..$ numero : int 1
## - attr(*, "class")= chr [1:2] "PCA" "list"
pcao$eig
## 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
pcao$var$coord[1:5,]
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## V1 0.7977668 -0.5579027 -0.01432118 -0.05827700 -0.04851878
## V2 0.3780132 -0.1424382 0.10835829 0.84870380 0.06351944
## V3 0.8292355 -0.5133487 -0.01563555 -0.05908501 -0.04799015
## V4 0.8053928 -0.5512695 0.04817717 -0.07520017 -0.01326563
## V5 0.5196530 0.4440017 -0.17507219 -0.22430770 0.46878427
pcao$ind$coord[1:5,]
## 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
### Matriz de correlación y descomposición
Acs <- scale(bas[, sapply(bas, is.numeric)])
COR <- (t(Acs) %*% Acs) / (nrow(Acs)-1)
E <- eigen(COR)
### Eigenvalores y vectores propios
E$values
## [1] 1.328161e+01 5.691355e+00 2.817949e+00 1.980640e+00 1.648731e+00
## [6] 1.207357e+00 6.752201e-01 4.766171e-01 4.168948e-01 3.506935e-01
## [11] 2.939157e-01 2.611614e-01 2.413575e-01 1.570097e-01 9.413497e-02
## [16] 7.986280e-02 5.939904e-02 5.261878e-02 4.947759e-02 3.115940e-02
## [21] 2.997289e-02 2.743940e-02 2.434084e-02 1.805501e-02 1.548127e-02
## [26] 8.177640e-03 6.900464e-03 1.589338e-03 7.488031e-04 1.330448e-04
E$vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.21890244 -0.233857132 -0.008531243 0.041408962 0.037786354
## [2,] -0.10372458 -0.059706088 0.064549903 -0.603050001 -0.049468850
## [3,] -0.22753729 -0.215181361 -0.009314220 0.041983099 0.037374663
## [4,] -0.22099499 -0.231076711 0.028699526 0.053433795 0.010331251
## [5,] -0.14258969 0.186113023 -0.104291904 0.159382765 -0.365088528
## [6,] -0.23928535 0.151891610 -0.074091571 0.031794581 0.011703971
## [7,] -0.25840048 0.060165363 0.002733838 0.019122753 0.086375412
## [8,] -0.26085376 -0.034767500 -0.025563541 0.065335944 -0.043861025
## [9,] -0.13816696 0.190348770 -0.040239936 0.067124984 -0.305941428
## [10,] -0.06436335 0.366575471 -0.022574090 0.048586765 -0.044424360
## [11,] -0.20597878 -0.105552152 0.268481387 0.097941242 -0.154456496
## [12,] -0.01742803 0.089979682 0.374633665 -0.359855528 -0.191650506
## [13,] -0.21132592 -0.089457234 0.266645367 0.088992415 -0.120990220
## [14,] -0.20286964 -0.152292628 0.216006528 0.108205039 -0.127574432
## [15,] -0.01453145 0.204430453 0.308838979 0.044664180 -0.232065676
## [16,] -0.17039345 0.232715896 0.154779718 -0.027469363 0.279968156
## [17,] -0.15358979 0.197207283 0.176463743 0.001316880 0.353982091
## [18,] -0.18341740 0.130321560 0.224657567 0.074067335 0.195548089
## [19,] -0.04249842 0.183848000 0.288584292 0.044073351 -0.252868765
## [20,] -0.10256832 0.280092027 0.211503764 0.015304750 0.263297438
## [21,] -0.22799663 -0.219866379 -0.047506990 0.015417240 -0.004406592
## [22,] -0.10446933 -0.045467298 -0.042297823 -0.632807885 -0.092883400
## [23,] -0.23663968 -0.199878428 -0.048546508 0.013802794 0.007454151
## [24,] -0.22487053 -0.219351858 -0.011902318 0.025894749 -0.027390903
## [25,] -0.12795256 0.172304352 -0.259797613 0.017652216 -0.324435445
## [26,] -0.21009588 0.143593173 -0.236075625 -0.091328415 0.121804107
## [27,] -0.22876753 0.097964114 -0.173057335 -0.073951180 0.188518727
## [28,] -0.25088597 -0.008257235 -0.170344076 0.006006996 0.043332069
## [29,] -0.12290456 0.141883349 -0.271312642 -0.036250695 -0.244558663
## [30,] -0.13178394 0.275339469 -0.232791313 -0.077053470 0.094423351
## [,6] [,7] [,8] [,9] [,10]
## [1,] 0.0187407904 -0.1240883403 0.007452296 -0.223109764 0.095486443
## [2,] -0.0321788366 0.0113995382 -0.130674825 0.112699390 0.240934066
## [3,] 0.0173084449 -0.1144770573 0.018687258 -0.223739213 0.086385615
## [4,] -0.0018877480 -0.0516534275 -0.034673604 -0.195586014 0.074956489
## [5,] -0.2863744966 -0.1406689928 0.288974575 0.006424722 -0.069292681
## [6,] -0.0141309489 0.0309184960 0.151396350 -0.167841425 0.012936200
## [7,] -0.0093441809 -0.1075204434 0.072827285 0.040591006 -0.135602298
## [8,] -0.0520499505 -0.1504822142 0.152322414 -0.111971106 0.008054528
## [9,] 0.3564584607 -0.0938911345 0.231530989 0.256040084 0.572069479
## [10,] -0.1194306679 0.2957600240 0.177121441 -0.123740789 0.081103207
## [11,] -0.0256032561 0.3124900373 -0.022539967 0.249985002 -0.049547594
## [12,] -0.0287473145 -0.0907553556 0.475413139 -0.246645397 -0.289142742
## [13,] 0.0018107150 0.3146403902 0.011896690 0.227154024 -0.114508236
## [14,] -0.0428639079 0.3466790028 -0.085805135 0.229160015 -0.091927889
## [15,] -0.3429173935 -0.2440240556 -0.573410232 -0.141924890 0.160884609
## [16,] 0.0691975186 0.0234635340 -0.117460157 -0.145322810 0.043504866
## [17,] 0.0563432386 -0.2088237897 -0.060566501 0.358107079 -0.141276243
## [18,] -0.0312244482 -0.3696459369 0.108319309 0.272519886 0.086240847
## [19,] 0.4902456426 -0.0803822539 -0.220149279 -0.304077200 -0.316529830
## [20,] -0.0531952674 0.1913949726 -0.011168188 -0.213722716 0.367541918
## [21,] -0.0002906849 -0.0097099360 -0.042619416 -0.112141463 0.077361643
## [22,] -0.0500080613 0.0098707439 -0.036251636 0.103341204 0.029550941
## [23,] 0.0085009872 -0.0004457267 -0.030558534 -0.109614364 0.050508334
## [24,] -0.0251643821 0.0678316595 -0.079394246 -0.080732461 0.069921152
## [25,] -0.3692553703 -0.1088308865 -0.205852191 0.112315904 -0.128304659
## [26,] 0.0477057929 0.1404729381 -0.084019659 -0.100677822 -0.172133632
## [27,] 0.0283792555 -0.0604880561 -0.072467871 0.161908621 -0.311638520
## [28,] -0.0308734498 -0.1679666187 0.036170795 0.060488462 -0.076648291
## [29,] 0.4989267845 -0.0184906298 -0.228225053 0.064637806 -0.029563075
## [30,] -0.0802235245 0.3746576261 -0.048360667 -0.134174175 0.012609579
## [,11] [,12] [,13] [,14] [,15]
## [1,] 0.04147149 0.051067457 0.01196721 -0.059506135 0.051118775
## [2,] -0.30224340 0.254896423 0.20346133 0.021560100 0.107922421
## [3,] 0.01678264 0.038926106 0.04410950 -0.048513812 0.039902936
## [4,] 0.11016964 0.065437508 0.06737574 -0.010830829 -0.013966907
## [5,] -0.13702184 0.316727211 0.04557360 -0.445064860 0.118143364
## [6,] -0.30800963 -0.104017044 0.22928130 -0.008101057 -0.230899962
## [7,] 0.12419024 0.065653480 0.38709081 0.189358699 0.128283732
## [8,] -0.07244603 0.042589267 0.13213810 0.244794768 0.217099194
## [9,] 0.16305408 -0.288865504 0.18993367 -0.030738856 0.073961707
## [10,] -0.03804827 0.236358988 0.10623908 0.377078865 -0.517975705
## [11,] -0.02535702 -0.016687915 -0.06819523 -0.010347413 0.110050711
## [12,] 0.34494446 -0.306160423 -0.16822238 0.010849347 -0.032752721
## [13,] -0.16731877 -0.101446828 -0.03784399 0.045523718 0.008268089
## [14,] 0.05161946 -0.017679218 0.05606493 -0.083570718 0.046024366
## [15,] 0.08420621 -0.294710053 0.15044143 0.201152530 -0.018559465
## [16,] -0.20688568 -0.263456509 0.01004017 -0.491755932 -0.168209315
## [17,] 0.34951794 0.251146975 0.15878319 -0.134586924 -0.250471408
## [18,] -0.34237591 -0.006458751 -0.49402674 0.199666719 -0.062079344
## [19,] -0.18784404 0.320571348 0.01033274 0.046864383 0.113383199
## [20,] 0.25062479 0.276165974 -0.24045832 -0.145652466 0.353232211
## [21,] 0.10506733 0.039679665 -0.13789053 -0.023101281 -0.166567074
## [22,] 0.01315727 0.079797450 -0.08014543 -0.053430792 -0.101115399
## [23,] 0.05107628 -0.008987738 -0.09696571 -0.012219382 -0.182755198
## [24,] 0.18459894 0.048088657 -0.10116061 0.006685465 -0.314993600
## [25,] 0.14389035 0.056514866 -0.20513034 -0.162235443 -0.046125866
## [26,] -0.19742047 -0.371662503 0.01227931 -0.166470250 0.049956014
## [27,] 0.18501676 -0.087034532 0.21798433 0.066798931 0.204835886
## [28,] -0.11777205 -0.068125354 -0.25438749 0.276418891 0.169499607
## [29,] 0.15756025 0.044033503 -0.25653491 -0.005355574 -0.139888394
## [30,] 0.11828355 -0.034731693 -0.17281424 0.212104110 0.256173195
## [,16] [,17] [,18] [,19] [,20]
## [1,] 0.15058388 -0.202924255 -0.1467123385 0.22538466 -0.049698664
## [2,] 0.15784196 0.038706119 0.0411029851 0.02978864 -0.244134993
## [3,] 0.11445396 -0.194821310 -0.1583174548 0.23959528 -0.017665012
## [4,] 0.13244803 -0.255705763 -0.2661681046 -0.02732219 -0.090143762
## [5,] 0.20461325 -0.167929914 0.3522268017 -0.16456584 0.017100960
## [6,] -0.17017837 0.020307708 -0.0077941384 0.28422236 0.488686329
## [7,] -0.26947021 0.001598353 0.0269681105 0.00226636 -0.033387086
## [8,] -0.38046410 -0.034509509 0.0828277367 -0.15497236 -0.235407606
## [9,] 0.16466159 0.191737848 -0.1733977905 -0.05881116 0.026069156
## [10,] 0.04079279 -0.050225246 -0.0878673570 -0.05815705 -0.175637222
## [11,] -0.05890572 0.139396866 0.2362165319 0.17588331 -0.090800503
## [12,] 0.03450040 -0.043963016 0.0098586620 0.03600985 -0.071659988
## [13,] -0.02651665 0.024635639 0.0259288003 0.36570154 -0.177250625
## [14,] -0.04115323 -0.334418173 -0.3049069032 -0.41657231 0.274201148
## [15,] 0.05803906 -0.139595006 0.2312599432 -0.01326009 0.090061477
## [16,] -0.18983090 0.008246477 -0.1004742346 -0.24244818 -0.461098220
## [17,] 0.12542065 -0.084616716 0.0001954852 0.12638102 0.066946174
## [18,] 0.19881035 -0.108132263 -0.0460549116 -0.01216430 0.068868294
## [19,] 0.15771150 0.274059129 -0.1870147640 -0.08903929 0.107385289
## [20,] -0.26855388 0.122733398 0.0598230982 0.08660084 0.222345297
## [21,] 0.08156057 0.240049982 0.2161013526 0.01366130 -0.005626909
## [22,] -0.18555785 -0.069365185 -0.0583984505 -0.07586693 0.300599798
## [23,] 0.05485705 0.234164147 0.1885435919 0.09081325 0.011003858
## [24,] 0.09065339 0.273399584 0.1420648558 -0.41004720 0.060047387
## [25,] -0.14555166 0.278030197 -0.5015516751 0.23451384 -0.129723903
## [26,] 0.15373486 0.004037123 0.0735745143 0.02020070 0.229280589
## [27,] 0.21502195 0.191313419 0.1039079796 -0.04578612 -0.046482792
## [28,] -0.17814174 0.075485316 -0.0758138963 -0.26022962 0.033022340
## [29,] -0.25789401 -0.430658116 0.2787138431 0.11725053 -0.116759236
## [30,] 0.40555649 -0.159394300 -0.0235647497 -0.01149448 -0.104991974
## [,21] [,22] [,23] [,24] [,25]
## [1,] 0.0685700057 0.07292890 -0.0985526942 0.18257944 0.01922650
## [2,] -0.4483694667 0.09480063 -0.0005549975 -0.09878679 -0.08474593
## [3,] 0.0697690429 0.07516048 -0.0402447050 0.11664888 -0.02701541
## [4,] 0.0184432785 0.09756578 0.0077772734 -0.06984834 0.21004078
## [5,] 0.1194917473 0.06382295 -0.0206657211 -0.06869742 -0.02895489
## [6,] -0.1926213963 -0.09807756 0.0523603957 0.10413552 -0.39662323
## [7,] -0.0055717533 -0.18521200 0.3248703785 -0.04474106 0.09697732
## [8,] 0.0094238187 -0.31185243 -0.0514087968 -0.08402770 0.18645160
## [9,] 0.0869384844 -0.01840673 -0.0512005770 -0.01933947 0.02458369
## [10,] 0.0762718362 0.28786888 -0.0846898562 0.13326055 0.20722186
## [11,] -0.0863867747 -0.15027468 -0.2641253170 0.55870157 0.17493043
## [12,] -0.2170719674 0.04845693 -0.0008738805 -0.02426730 -0.05698648
## [13,] 0.3049501584 0.15935280 0.0900742110 -0.51675039 -0.07292764
## [14,] -0.1925877857 0.06423262 0.0982150746 0.02246072 -0.13185041
## [15,] 0.0720987261 0.05054490 -0.0598177179 -0.01563119 -0.03121070
## [16,] 0.1403865724 -0.04528769 0.0091038710 0.12177779 -0.17316455
## [17,] -0.0630479298 -0.20521269 -0.3875423290 -0.18820504 -0.01593998
## [18,] -0.0343753236 -0.07254538 0.3517550738 0.10966898 0.12954655
## [19,] 0.0976995265 -0.08465443 -0.0423628949 -0.00322620 0.01951493
## [20,] -0.0628432814 0.24470508 0.0857810992 -0.07519442 0.08417120
## [21,] -0.0072938995 -0.09629821 -0.0556767923 0.15683037 -0.07070972
## [22,] 0.5944401434 -0.11111202 -0.0089228997 0.11848460 0.11818972
## [23,] 0.0920235990 0.01722163 0.0633448296 -0.23711317 -0.11803403
## [24,] -0.1467901315 -0.09695982 0.1908896250 -0.14406303 0.03828995
## [25,] -0.1648492374 -0.06825409 0.0936901494 0.01099014 0.04796476
## [26,] -0.1813748671 0.02967641 -0.1479209247 -0.18674995 0.62438494
## [27,] 0.1321005945 0.46042619 0.2864331353 0.28885257 -0.11577034
## [28,] -0.0008860815 0.29984056 -0.5675277966 -0.10734024 -0.26319634
## [29,] -0.1627085487 0.09714484 0.1213434508 0.01438181 -0.04529962
## [30,] 0.0923439434 -0.46947115 0.0076253382 -0.03782545 -0.28013348
## [,26] [,27] [,28] [,29] [,30]
## [1,] -0.129476396 0.131526670 -2.111940e-01 -2.114605e-01 0.7024140910
## [2,] -0.024556664 0.017357309 6.581146e-05 1.053393e-02 0.0002736610
## [3,] -0.125255946 0.115415423 -8.433827e-02 -3.838261e-01 -0.6898969685
## [4,] 0.362727403 -0.466612477 2.725083e-01 4.227949e-01 -0.0329473482
## [5,] -0.037003686 -0.069689923 -1.479269e-03 3.434667e-03 -0.0048474577
## [6,] 0.262808474 -0.097748705 5.462767e-03 4.101677e-02 0.0446741863
## [7,] -0.548876170 -0.364808397 -4.553864e-02 1.001479e-02 0.0251386661
## [8,] 0.387643377 0.454699351 8.883097e-03 4.206949e-03 -0.0010772653
## [9,] -0.016044038 0.015164835 -1.433026e-03 7.569862e-03 -0.0012803794
## [10,] -0.097404839 0.101244946 6.311687e-03 -7.301433e-03 -0.0047556848
## [11,] 0.049977080 -0.212982901 1.922239e-01 -1.184421e-01 -0.0087110937
## [12,] -0.011237242 0.010092889 5.622611e-03 8.776279e-03 -0.0010710392
## [13,] 0.103653282 -0.041691553 -2.631919e-01 6.100219e-03 0.0137293906
## [14,] -0.155304589 0.313358657 4.206811e-02 8.592591e-02 0.0011053260
## [15,] -0.007717557 0.009052154 -9.792963e-03 -1.776386e-03 -0.0016082109
## [16,] -0.049727632 -0.046536088 1.539555e-02 -3.158134e-03 0.0019156224
## [17,] 0.091454968 0.084224797 -5.820978e-03 -1.607852e-02 -0.0089265265
## [18,] -0.017941919 0.011165509 2.900930e-02 2.393779e-02 -0.0021601973
## [19,] -0.017267849 0.019975983 7.636526e-03 5.223292e-03 0.0003293898
## [20,] 0.035488974 0.012036564 -1.975646e-02 8.341912e-03 0.0017989568
## [21,] -0.197054744 0.178666740 -4.126396e-01 6.357249e-01 -0.1356430561
## [22,] 0.036469433 -0.021410694 3.902509e-04 -1.723549e-02 0.0010205360
## [23,] -0.244103670 0.241031046 7.286809e-01 -2.292180e-02 0.0797438536
## [24,] 0.231359525 -0.237162466 -2.389603e-01 -4.449359e-01 0.0397422838
## [25,] 0.012602464 0.040853568 1.535248e-03 -7.385492e-03 0.0045832773
## [26,] -0.100463424 0.070505414 -4.869182e-02 -3.566904e-06 -0.0128415624
## [27,] 0.266853781 0.142905801 1.764090e-02 1.267572e-02 0.0004021392
## [28,] -0.133574507 -0.230901389 -2.247567e-02 -3.524045e-02 -0.0022884418
## [29,] 0.028184296 -0.022790444 -4.920481e-03 -1.340423e-02 0.0003954435
## [30,] 0.004520482 -0.059985998 2.356214e-02 -1.147766e-02 0.0018942925
eigvalo <- get_eigenvalue(pcao)
eigvalo
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 1.328161e+01 4.427203e+01 44.27203
## Dim.2 5.691355e+00 1.897118e+01 63.24321
## Dim.3 2.817949e+00 9.393163e+00 72.63637
## Dim.4 1.980640e+00 6.602135e+00 79.23851
## Dim.5 1.648731e+00 5.495768e+00 84.73427
## Dim.6 1.207357e+00 4.024522e+00 88.75880
## Dim.7 6.752201e-01 2.250734e+00 91.00953
## Dim.8 4.766171e-01 1.588724e+00 92.59825
## Dim.9 4.168948e-01 1.389649e+00 93.98790
## Dim.10 3.506935e-01 1.168978e+00 95.15688
## Dim.11 2.939157e-01 9.797190e-01 96.13660
## Dim.12 2.611614e-01 8.705379e-01 97.00714
## Dim.13 2.413575e-01 8.045250e-01 97.81166
## Dim.14 1.570097e-01 5.233657e-01 98.33503
## Dim.15 9.413497e-02 3.137832e-01 98.64881
## Dim.16 7.986280e-02 2.662093e-01 98.91502
## Dim.17 5.939904e-02 1.979968e-01 99.11302
## Dim.18 5.261878e-02 1.753959e-01 99.28841
## Dim.19 4.947759e-02 1.649253e-01 99.45334
## Dim.20 3.115940e-02 1.038647e-01 99.55720
## Dim.21 2.997289e-02 9.990965e-02 99.65711
## Dim.22 2.743940e-02 9.146468e-02 99.74858
## Dim.23 2.434084e-02 8.113613e-02 99.82971
## Dim.24 1.805501e-02 6.018336e-02 99.88990
## Dim.25 1.548127e-02 5.160424e-02 99.94150
## Dim.26 8.177640e-03 2.725880e-02 99.96876
## Dim.27 6.900464e-03 2.300155e-02 99.99176
## Dim.28 1.589338e-03 5.297793e-03 99.99706
## Dim.29 7.488031e-04 2.496010e-03 99.99956
## Dim.30 1.330448e-04 4.434827e-04 100.00000
fviz_eig(pcao, addlabels = TRUE, ylim = c(0, 50))

### Variables
varo <- get_pca_var(pcao)
head(varo$coord, 7)
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## V1 0.7977668 -0.5579027 -0.014321182 -0.05827700 -0.04851878
## V2 0.3780132 -0.1424382 0.108358294 0.84870380 0.06351944
## V3 0.8292355 -0.5133487 -0.015635546 -0.05908501 -0.04799015
## V4 0.8053928 -0.5512695 0.048177170 -0.07520017 -0.01326563
## V5 0.5196530 0.4440017 -0.175072188 -0.22430770 0.46878427
## V6 0.8720501 0.3623611 -0.124375651 -0.04474618 -0.01502824
## V7 0.9417132 0.1435339 0.004589225 -0.02691245 -0.11090854
head(varo$cos2, 5)
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## V1 0.6364318 0.31125539 0.0002050963 0.003396209 0.0023540715
## V2 0.1428940 0.02028864 0.0117415199 0.720298141 0.0040347193
## V3 0.6876316 0.26352690 0.0002444703 0.003491038 0.0023030547
## V4 0.6486576 0.30389811 0.0023210397 0.005655066 0.0001759769
## V5 0.2700393 0.19713747 0.0306502709 0.050313944 0.2197586899
head(varo$contrib, 7)
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## V1 4.791828 5.4689158 0.007278210 0.17147022 0.14278085
## V2 1.075879 0.3564817 0.416669002 36.36693032 0.24471672
## V3 5.177322 4.6303018 0.008675469 0.17625806 0.13968654
## V4 4.883878 5.3396446 0.082366279 0.28551705 0.01067348
## V5 2.033182 3.4638057 1.087680124 2.54028658 13.32896332
## V6 5.725748 2.3071061 0.548956087 0.10108954 0.01369829
## V7 6.677081 0.3619871 0.000747387 0.03656797 0.74607118
# Visualización básica
fviz_pca_var(pcao, col.var = "black")

fviz_pca_var(pcao, arrowsize = 2, col.var = "black")

fviz_pca_var(pcao, arrowsize = 2, col.var = "blue", axes = 3:4)

fviz_pca_var(pcao, col.var = "black", axes = 4:5)

fviz_pca_var(pcao, arrowsize = 1, labelsize = 5, repel = TRUE)

# Corrplot
corrplot(varo$contrib, is.corr = FALSE)

corrplot(varo$cos2, is.corr = FALSE)

# Colores por cos2 y contribución
fviz_pca_var(pcao, col.var = "cos2", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)

fviz_pca_var(pcao, col.var = "cos2", gradient.cols = c("darkred", "darkgreen", "blue"), repel = TRUE)

fviz_pca_var(pcao, col.var = "cos2", arrowsize = 1, gradient.cols = c("yellow", "green", "darkgreen"), repel = TRUE)

# Contribuciones
fviz_contrib(pcao, choice = "var", axes = 1, top = 4)

fviz_contrib(pcao, choice = "var", axes = 2, top = 4)

fviz_contrib(pcao, choice = "var", axes = 2, top = 3)

fviz_contrib(pcao, choice = "var", axes = 1:2, top = 5)

fviz_pca_var(pcao, col.var = "contrib", arrowsize = 1, gradient.cols = c("green", "darkgreen", "brown"))

fviz_pca_var(pcao, col.var = "contrib", axes = 3:4, gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))

# Descripción de dimensiones
desc <- dimdesc(pcao, axes = c(1, 2), proba = 1.00)
desc$Dim.1
##
## Link between the variable and the continuous variables (R-square)
## =================================================================================
## correlation p.value
## V8 0.95065387 2.239690e-290
## V7 0.94171317 1.952712e-270
## V28 0.91432733 9.464350e-225
## V6 0.87205011 4.285431e-178
## V23 0.86240823 8.834229e-170
## V27 0.83371903 2.329782e-148
## V21 0.83090957 1.749333e-146
## V3 0.82923555 2.208294e-145
## V24 0.81951682 3.223940e-139
## V4 0.80539280 6.810274e-131
## V1 0.79776675 1.118789e-126
## V13 0.77015490 8.240322e-113
## V26 0.76567217 9.648314e-111
## V11 0.75066782 3.835677e-104
## V14 0.73933688 1.831582e-99
## V18 0.66844526 6.335820e-75
## V16 0.62098087 5.664123e-62
## V17 0.55974171 3.139331e-48
## V5 0.51965303 1.128786e-40
## V9 0.50353484 6.559237e-38
## V30 0.48027261 3.591007e-34
## V25 0.46630955 4.624955e-32
## V29 0.44791263 1.997316e-29
## V22 0.38072738 4.561039e-21
## V2 0.37801323 9.083988e-21
## V20 0.37379938 2.613817e-20
## V10 0.23456539 1.494995e-08
## V19 0.15488099 2.082717e-04
## V12 0.06351460 1.302146e-01
## V15 0.05295834 2.071789e-01
##
## Link between the variable and the categorical variable (1-way anova)
## =============================================
## R2 p.value
## diagnosis 0.6169962 2.933787e-120
##
## Link between variable and the categories of the categorical variables
## ================================================================
## Estimate p.value
## diagnosis=M 2.960375 2.933787e-120
## diagnosis=B -2.960375 2.933787e-120
desc$Dim.2
##
## Link between the variable and the continuous variables (R-square)
## =================================================================================
## correlation p.value
## V10 0.87452298 2.457175e-180
## V20 0.66820323 7.480718e-75
## V30 0.65686526 1.508827e-71
## V16 0.55518008 2.563775e-47
## V15 0.48770074 2.469079e-35
## V17 0.47046874 1.113702e-32
## V9 0.45410669 2.697776e-30
## V5 0.44400165 6.923016e-29
## V19 0.43859809 3.756057e-28
## V25 0.41105891 1.314608e-24
## V6 0.36236113 4.262912e-19
## V26 0.34256392 4.127566e-17
## V29 0.33848486 1.017778e-16
## V18 0.31090241 3.230391e-14
## V27 0.23370868 1.691993e-08
## V12 0.21466057 2.346268e-07
## V7 0.14353386 5.945583e-04
## V28 -0.01969892 6.391377e-01
## V8 -0.08294330 4.797792e-02
## V22 -0.10846933 9.615700e-03
## V2 -0.14243819 6.553715e-04
## V13 -0.21341419 2.764305e-07
## V11 -0.25181113 1.116087e-09
## V14 -0.36331782 3.389634e-19
## V23 -0.47684117 1.209959e-33
## V3 -0.51334871 1.417149e-39
## V24 -0.52329808 2.551063e-41
## V21 -0.52452555 1.539744e-41
## V4 -0.55126955 1.512182e-46
## V1 -0.55790267 7.349009e-48
##
## Link between the variable and the categorical variable (1-way anova)
## =============================================
## R2 p.value
## diagnosis 0.03548051 6.073145e-06
##
## Link between variable and the categories of the categorical variables
## ================================================================
## Estimate p.value
## diagnosis=B 0.464711 6.073145e-06
## diagnosis=M -0.464711 6.073145e-06
desc <- dimdesc(pcao, axes = c(1, 2), proba = 0.01)
desc$Dim.1
##
## Link between the variable and the continuous variables (R-square)
## =================================================================================
## correlation p.value
## V8 0.9506539 2.239690e-290
## V7 0.9417132 1.952712e-270
## V28 0.9143273 9.464350e-225
## V6 0.8720501 4.285431e-178
## V23 0.8624082 8.834229e-170
## V27 0.8337190 2.329782e-148
## V21 0.8309096 1.749333e-146
## V3 0.8292355 2.208294e-145
## V24 0.8195168 3.223940e-139
## V4 0.8053928 6.810274e-131
## V1 0.7977668 1.118789e-126
## V13 0.7701549 8.240322e-113
## V26 0.7656722 9.648314e-111
## V11 0.7506678 3.835677e-104
## V14 0.7393369 1.831582e-99
## V18 0.6684453 6.335820e-75
## V16 0.6209809 5.664123e-62
## V17 0.5597417 3.139331e-48
## V5 0.5196530 1.128786e-40
## V9 0.5035348 6.559237e-38
## V30 0.4802726 3.591007e-34
## V25 0.4663095 4.624955e-32
## V29 0.4479126 1.997316e-29
## V22 0.3807274 4.561039e-21
## V2 0.3780132 9.083988e-21
## V20 0.3737994 2.613817e-20
## V10 0.2345654 1.494995e-08
## V19 0.1548810 2.082717e-04
##
## Link between the variable and the categorical variable (1-way anova)
## =============================================
## R2 p.value
## diagnosis 0.6169962 2.933787e-120
##
## Link between variable and the categories of the categorical variables
## ================================================================
## Estimate p.value
## diagnosis=M 2.960375 2.933787e-120
## diagnosis=B -2.960375 2.933787e-120
desc$Dim.2
##
## Link between the variable and the continuous variables (R-square)
## =================================================================================
## correlation p.value
## V10 0.8745230 2.457175e-180
## V20 0.6682032 7.480718e-75
## V30 0.6568653 1.508827e-71
## V16 0.5551801 2.563775e-47
## V15 0.4877007 2.469079e-35
## V17 0.4704687 1.113702e-32
## V9 0.4541067 2.697776e-30
## V5 0.4440017 6.923016e-29
## V19 0.4385981 3.756057e-28
## V25 0.4110589 1.314608e-24
## V6 0.3623611 4.262912e-19
## V26 0.3425639 4.127566e-17
## V29 0.3384849 1.017778e-16
## V18 0.3109024 3.230391e-14
## V27 0.2337087 1.691993e-08
## V12 0.2146606 2.346268e-07
## V7 0.1435339 5.945583e-04
## V22 -0.1084693 9.615700e-03
## V2 -0.1424382 6.553715e-04
## V13 -0.2134142 2.764305e-07
## V11 -0.2518111 1.116087e-09
## V14 -0.3633178 3.389634e-19
## V23 -0.4768412 1.209959e-33
## V3 -0.5133487 1.417149e-39
## V24 -0.5232981 2.551063e-41
## V21 -0.5245255 1.539744e-41
## V4 -0.5512695 1.512182e-46
## V1 -0.5579027 7.349009e-48
##
## Link between the variable and the categorical variable (1-way anova)
## =============================================
## R2 p.value
## diagnosis 0.03548051 6.073145e-06
##
## Link between variable and the categories of the categorical variables
## ================================================================
## Estimate p.value
## diagnosis=B 0.464711 6.073145e-06
## diagnosis=M -0.464711 6.073145e-06
### Individuos
ind <- get_pca_ind(pcao)
head(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(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(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
fviz_pca_ind(pcao)

fviz_pca_ind(pcao, axes = c(3:4))

fviz_pca_ind(pcao, pointsize = 3, pointshape = 21, fill = "lightblue", labelsize = 5, repel = TRUE)

fviz_pca_ind(pcao, col.ind = "cos2", gradient.cols = c("orange", "red", "darkred"), repel = TRUE)

fviz_pca_ind(pcao, axes = c(3:4), col.ind = "cos2", pointsize = "contrib", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)

fviz_cos2(pcao, choice = "ind", axes = 1)

fviz_cos2(pcao, choice = "ind", axes = 2)

fviz_cos2(pcao, choice = "ind", axes = c(1:2))

fviz_cos2(pcao, choice = "ind", axes = c(3:4))

fviz_contrib(pcao, choice = "ind", axes = 1)

fviz_contrib(pcao, choice = "ind", axes = 2)

fviz_contrib(pcao, choice = "ind", axes = 1:2)

### ----------------------------------------
### ÍNDICE DE MALIGNIDAD BASADO EN PC1
### ----------------------------------------
# Extraer coordenadas de individuos sobre la PC1
indice_malignidad <- pcao$ind$coord[, 1]
# Agregarlo al dataframe original junto con diagnosis
resultado_indice <- data.frame(
ID = 1:length(indice_malignidad),
diagnosis = bas$diagnosis,
Indice_Malignidad = indice_malignidad
)
# Visualización básica: boxplot para comparar valores de PC1 entre diagnósticos
ggplot(resultado_indice, aes(x = diagnosis, y = Indice_Malignidad, fill = diagnosis)) +
geom_boxplot() +
theme_minimal() +
labs(title = "Índice de malignidad basado en PCA (PC1)",
x = "Diagnóstico",
y = "Componente Principal 1 (PC1)")

### ----------------------------------------
### 1. Gráfico de densidad del índice por diagnóstico
### ----------------------------------------
ggplot(resultado_indice, aes(x = Indice_Malignidad, fill = diagnosis)) +
geom_density(alpha = 0.5) +
theme_minimal() +
labs(title = "Distribución del índice de malignidad (PC1)",
x = "Índice (PC1)", y = "Densidad",
fill = "Diagnóstico") +
scale_fill_manual(values = c("B" = "blue", "M" = "red"))

### ----------------------------------------
### 2. Curva ROC
### ----------------------------------------
# Convertir diagnosis a 0 (benigno) y 1 (maligno)
roc_data <- resultado_indice
roc_data$diagnosis_num <- ifelse(roc_data$diagnosis == "M", 1, 0)
# Calcular curva ROC
roc_curve <- roc(roc_data$diagnosis_num, roc_data$Indice_Malignidad)
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
# Mostrar AUC y curva
plot(roc_curve, col = "darkblue", lwd = 2, main = "Curva ROC - Índice de malignidad (PC1)")
auc_value <- auc(roc_curve)
legend("bottomright", legend = paste("AUC =", round(auc_value, 4)), col = "darkblue", lwd = 2)

### ----------------------------------------
### 3. Tabla resumen estadístico por grupo
### ----------------------------------------
resumen <- resultado_indice %>%
group_by(diagnosis) %>%
summarise(
Media = mean(Indice_Malignidad),
Mediana = median(Indice_Malignidad),
Desviacion = sd(Indice_Malignidad),
Min = min(Indice_Malignidad),
Max = max(Indice_Malignidad),
n = n()
)
print(resumen)
## # A tibble: 2 × 7
## diagnosis Media Mediana Desviacion Min Max n
## <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
## 1 B -2.21 -2.37 1.64 -5.57 7.09 357
## 2 M 3.71 3.38 3.03 -2.39 16.3 212