Cargamos la data proveniente de la tesis

library(readxl)
Datos_tesis <- read_excel("Datos tesis.xlsx", sheet = "DATOS")
head(Datos_tesis)
## # A tibble: 6 × 18
##       G TTO         R `ajus aer`  pf.a  ps.a   ms.a `ajus rai`  pf.r  ps.r  ms.r
##   <dbl> <chr>   <dbl>      <dbl> <dbl> <dbl>  <dbl>      <dbl> <dbl> <dbl> <dbl>
## 1    93 CONTROL     2          1 193    15   0.0777          1  26.5  7.07 0.267
## 2    59 ESTRÉS      3          0 186.   16   0.0862          0  11    4.8  0.436
## 3   131 ESTRÉS      3          1  77.1   7   0.0908          0  22.3  6    0.269
## 4    43 ESTRÉS      3          1  51.9   5   0.0963          0   8.7  3.5  0.402
## 5    36 ESTRÉS      1          0  75.7   7.3 0.0964          0   9.7  3.8  0.392
## 6   137 ESTRÉS      1          0 269.   26.6 0.0989          0  22    6    0.273
## # ℹ 7 more variables: pf.tu <dbl>, ps.tu <dbl>, ms.tu <dbl>, NT <dbl>,
## #   ppt <dbl>, ps.to <dbl>, Estado <chr>

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
names(Datos_tesis)
##  [1] "G"        "TTO"      "R"        "ajus aer" "pf.a"     "ps.a"    
##  [7] "ms.a"     "ajus rai" "pf.r"     "ps.r"     "ms.r"     "pf.tu"   
## [13] "ps.tu"    "ms.tu"    "NT"       "ppt"      "ps.to"    "Estado"
TES1 <- Datos_tesis %>% 
  select(., c("G","TTO","ps.a","ps.r","ps.tu","NT","ppt") ) %>%
  mutate(.,
         G=as.factor(G),
         TTO=as.factor(TTO),
         ps.a=round(ps.a, digits = 3),
         ps.r=round(ps.r, digits = 3),
         ps.tu=round(ps.tu, digits = 3),
         ps.to=(ps.a+ps.r+ps.tu),
         NT=round(NT, digits = 0),
         ppt=round(ppt, digits = 3),
         IC=round( (ps.tu/ps.to)*100, digits = 3) )
head(TES1)
## # A tibble: 6 × 9
##   G     TTO      ps.a  ps.r ps.tu    NT   ppt ps.to    IC
##   <fct> <fct>   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 93    CONTROL  15    7.07 60.8      8 31.2   82.9  73.4
## 2 59    ESTRÉS   16    4.8   7.59     7  4.44  28.4  26.7
## 3 131   ESTRÉS    7    6     7.1     15  1.94  20.1  35.3
## 4 43    ESTRÉS    5    3.5  13.4     12  4.58  21.9  61.2
## 5 36    ESTRÉS    7.3  3.8  28.3      7 16.6   39.4  71.8
## 6 137   ESTRÉS   26.6  6    13.7     16  3.52  46.3  29.6

Partimos la data e los dos grupos (estres y control)

A <- split(TES1, f=TES1$TTO)

estres <- as.data.frame(A$ESTRÉS)
class(estres)
## [1] "data.frame"
control <- as.data.frame(A$CONTROL)
class(control)
## [1] "data.frame"

Tomamos cuatro datos al azar por genotipo del grupo estres

# Obtén los valores únicos en la columna "G"
valores_unicos_G_E <- unique(estres$G)
# Establece la cantidad de muestras al azar por grupo
muestras_por_grupo <- 5
# Inicializa un dataframe para almacenar los resultados
datos_al_azar_E <- data.frame()
# Itera a través de los valores únicos en "G" y selecciona datos al azar para cada grupo
for (valor in valores_unicos_G_E) {
  # Filtra el dataframe para el grupo actual
  grupo_E <- estres[estres$G == valor, , drop = FALSE]
  # Selecciona datos al azar con reemplazo
  muestras_E <- grupo_E[sample(nrow(grupo_E), muestras_por_grupo, replace = TRUE), ]
  # Combina las muestras en el dataframe de resultados
  datos_al_azar_E <- rbind(datos_al_azar_E, muestras_E)
}
str(datos_al_azar_E)
## 'data.frame':    515 obs. of  9 variables:
##  $ G    : Factor w/ 103 levels "4","5","6","7",..: 39 39 39 39 39 91 91 91 91 91 ...
##  $ TTO  : Factor w/ 2 levels "CONTROL","ESTRÉS": 2 2 2 2 2 2 2 2 2 2 ...
##  $ ps.a : num  16 10.9 16 16 16 20.3 8 20.3 8 20.3 ...
##  $ ps.r : num  4.8 3.1 4.8 4.8 4.8 4.9 4.9 4.9 4.9 4.9 ...
##  $ ps.tu: num  7.59 1.05 7.59 7.59 7.59 ...
##  $ NT   : num  7 4 7 7 7 11 13 11 13 11 ...
##  $ ppt  : num  4.44 1.07 4.44 4.44 4.44 ...
##  $ ps.to: num  28.4 15 28.4 28.4 28.4 ...
##  $ IC   : num  26.73 6.97 26.73 26.73 26.73 ...

Tomamos cuatro datos al azar por genotipo del grupo control

# Obtén los valores únicos en la columna "G"
valores_unicos_G_C <- unique(control$G)
# Establece la cantidad de muestras al azar por grupo
muestras_por_grupo <- 5
# Inicializa un dataframe para almacenar los resultados
datos_al_azar_C <- data.frame()
# Itera a través de los valores únicos en "G" y selecciona datos al azar para cada grupo
for (valor in valores_unicos_G_C) {
  # Filtra el dataframe para el grupo actual
  grupo_C <- control[control$G == valor, , drop = FALSE]
  # Selecciona datos al azar con reemplazo
  muestras_C <- grupo_C[sample(nrow(grupo_C), muestras_por_grupo, replace = TRUE), ]
  # Combina las muestras en el dataframe de resultados
  datos_al_azar_C <- rbind(datos_al_azar_C, muestras_C)
}
str(datos_al_azar_C)
## 'data.frame':    515 obs. of  9 variables:
##  $ G    : Factor w/ 103 levels "4","5","6","7",..: 61 61 61 61 61 23 23 23 23 23 ...
##  $ TTO  : Factor w/ 2 levels "CONTROL","ESTRÉS": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ps.a : num  21.6 17.7 21.6 17 21.6 ...
##  $ ps.r : num  4.19 5.7 4.19 5.79 4.19 ...
##  $ ps.tu: num  56.6 63 56.6 53.7 56.6 ...
##  $ NT   : num  11 9 11 16 11 4 6 7 4 7 ...
##  $ ppt  : num  21.1 28.7 21.1 13.8 21.1 ...
##  $ ps.to: num  82.4 86.4 82.4 76.5 82.4 ...
##  $ IC   : num  68.7 72.9 68.7 70.2 68.7 ...

Comprobamos que tenemos los mismos genotipos y el mismo numero de datos por cada grupo

sort(valores_unicos_G_E)==sort(valores_unicos_G_C)
##   [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
##  [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
##  [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
##  [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
##  [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
##  [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
##  [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
nrow(datos_al_azar_E)==nrow(datos_al_azar_C)
## [1] TRUE

Unimos los dataframes

# Renombramos variables segun el grupo
names(datos_al_azar_E) <- c("G","TTO","E_ps.a","E_ps.r","E_ps.tu","E_NT","E_ppt","E_ps.to","E_IC")
names(datos_al_azar_C) <- c("G","TTO","C_ps.a","C_ps.r","C_ps.tu","C_NT","C_ppt","C_ps.to","C_IC")
# Ordenamos los dataframes por el genotipo y tamaño de las plantas
ordenados_E <- datos_al_azar_E[order(datos_al_azar_E$G, datos_al_azar_E$E_ps.to), ]
ordenados_C <- datos_al_azar_C[order(datos_al_azar_C$G, datos_al_azar_C$C_ps.to), ]
# Calculamos la media por genotipo para el control
medias_C <- ordenados_C %>% 
  group_by(., G) %>%
  summarise(.,
            M_ps.a=mean(C_ps.a),
            M_ps.r=mean(C_ps.r),
            M_ps.tu=mean(C_ps.tu),
            M_ps.to=mean(C_ps.to),
            M_NT=mean(C_NT),
            M_ppt=mean(C_ppt),
            M_IC=mean(C_IC) )
names(ordenados_C)
## [1] "G"       "TTO"     "C_ps.a"  "C_ps.r"  "C_ps.tu" "C_NT"    "C_ppt"  
## [8] "C_ps.to" "C_IC"
medias_C
## # A tibble: 103 × 8
##    G     M_ps.a M_ps.r M_ps.tu M_ps.to  M_NT M_ppt  M_IC
##    <fct>  <dbl>  <dbl>   <dbl>   <dbl> <dbl> <dbl> <dbl>
##  1 4       46.0   5.51    28.2    79.8  12   10.3   35.1
##  2 5       27.8   8.89    12.7    49.4   5.6  9.81  25.6
##  3 6       26.1   4.66    19.6    50.3   4   24.0   39.1
##  4 7       17.3   4.47    18.1    39.9   5.8 14.8   44.1
##  5 8       14.3   2.40    17.5    34.1   8.2  7.64  45.4
##  6 9       30.2   4.61    21.7    56.5   9.8  9.80  39.0
##  7 11      18.3   2.21    14.5    35.0   6.6 10.6   41.2
##  8 13      34.1   2.82    24.7    61.6   4.2 24.4   39.6
##  9 14      19.8   3.65    15.0    38.4   9.2  6.55  39.5
## 10 15      26.7   3.79    26.1    56.5   5.2 25.2   46.4
## # ℹ 93 more rows

Calculamos el indice de estres (DTI: drought tolerance index)

indices <- data.frame(cbind(ordenados_E, ordenados_C[ ,3:9]) ) %>%
  left_join(., medias_C, by = "G") %>%
  mutate(.,
         I_ps.a = (C_ps.a * E_ps.a) / (M_ps.a^2),
         I_ps.r = (C_ps.r * E_ps.r) / (M_ps.r^2),
         I_ps.tu = (C_ps.tu * E_ps.tu) / (M_ps.tu^2),
         I_NT = (C_NT * E_NT) / (M_NT^2),
         I_ppt = (C_ppt * E_ppt) / (M_ppt^2),
         I_ps.to = (C_ps.to * E_ps.to) / (M_ps.to^2),
         I_IC = (C_IC * E_IC) / (M_IC^2) )
names(indices)
##  [1] "G"       "TTO"     "E_ps.a"  "E_ps.r"  "E_ps.tu" "E_NT"    "E_ppt"  
##  [8] "E_ps.to" "E_IC"    "C_ps.a"  "C_ps.r"  "C_ps.tu" "C_NT"    "C_ppt"  
## [15] "C_ps.to" "C_IC"    "M_ps.a"  "M_ps.r"  "M_ps.tu" "M_ps.to" "M_NT"   
## [22] "M_ppt"   "M_IC"    "I_ps.a"  "I_ps.r"  "I_ps.tu" "I_NT"    "I_ppt"  
## [29] "I_ps.to" "I_IC"
View(indices)

Agrupamos por la media del DTI de cada genotipo

med_indic_tes <- indices %>% 
  group_by(., G) %>%
  summarise(.,
            ps.a=mean(I_ps.a),
            ps.r=mean(I_ps.r),
            ps.tu=mean(I_ps.tu),
            ps.to=mean(I_ps.to),
            NT=mean(I_NT),
            ppt=mean(I_ppt),
            IC=mean(I_IC) )
med_indic_tes
## # A tibble: 103 × 8
##    G      ps.a  ps.r ps.tu ps.to    NT   ppt    IC
##    <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1 4     0.227 0.792 0.534 0.371 0.583 0.830 1.33 
##  2 5     0.577 0.601 0.569 0.579 0.938 0.591 0.932
##  3 6     1.04  1.86  0.496 0.905 1.78  0.228 0.554
##  4 7     0.971 0.896 0.444 0.734 0.951 0.364 0.633
##  5 8     0.824 1.97  0.683 0.849 0.958 0.529 0.600
##  6 9     0.784 1.22  0.489 0.711 0.848 0.517 0.708
##  7 11    0.712 1.91  0.488 0.699 1.19  0.316 0.718
##  8 13    0.749 1.74  0.614 0.740 0.998 0.614 0.801
##  9 14    0.591 0.971 0.163 0.462 0.227 0.976 0.331
## 10 15    0.749 1.55  0.574 0.725 2.40  0.245 0.786
## # ℹ 93 more rows

Cargamos la data proveniente del articulo

TOTAL <- med_indic_art[ ,-1] %>%
  mutate(., G=as.factor(G)) %>% 
  inner_join(., med_indic_tes, by = "G")
TOTAL
## # A tibble: 101 × 17
##    G       SAC     GLU     FRU    FC    SPAD    NT.x      PT     RWC    GR  ps.a
##    <fct> <dbl>   <dbl>   <dbl> <dbl>   <dbl>   <dbl>   <dbl>   <dbl> <dbl> <dbl>
##  1 4      1528 1.44e+3 1.03e+3 0.937 9.91e-1 1.30e+3 7.5 e-1 8.66e-1     2 0.227
##  2 5      1338 1.49e+3 1.32e+3 0.977 8.06e-1 7.62e-1 2.1 e-1 8.24e-1     2 0.577
##  3 6      2585 1.52e+3 1.74e+3 0.935 9.77e-1 5.59e-1 4.32e-1 9.12e-1     2 1.04 
##  4 7      1605 5.39e+3 8.52e+3 0.962 9.02e-1 6.1 e-1 3.46e-1 1.03e+3     4 0.971
##  5 8      1315 4.37e-1 4.67e-1 0.975 7.9 e-1 1.03e+3 6.25e-1 7.83e-1     2 0.824
##  6 9      3718 3.12e+3 4.49e+3 0.977 8.05e-1 1.23e+3 5.3 e-1 8.75e-1     2 0.784
##  7 11     1325 3.11e+3 1.35e+3 0.977 8.17e-1 1.27e+3 2.69e-1 6.48e-1     2 0.712
##  8 13     3278 2.73e+3 2.35e+3 0.967 1.20e+3 3.45e-1 8.54e-1 8.99e-1     2 0.749
##  9 14     1583 8.23e+3 1.39e+4 0.835 9.55e-1 4.71e-1 1.48e-1 7.88e-1     4 0.591
## 10 15     2937 2.34e+3 2.44e+3 0.962 1.30e+3 6.27e-1 1.08e+3 5.88e-1     2 0.749
## # ℹ 91 more rows
## # ℹ 6 more variables: ps.r <dbl>, ps.tu <dbl>, ps.to <dbl>, NT.y <dbl>,
## #   ppt <dbl>, IC <dbl>
library(corrplot)
## corrplot 0.92 loaded
names(TOTAL)
##  [1] "G"     "SAC"   "GLU"   "FRU"   "FC"    "SPAD"  "NT.x"  "PT"    "RWC"  
## [10] "GR"    "ps.a"  "ps.r"  "ps.tu" "ps.to" "NT.y"  "ppt"   "IC"
M = cor(TOTAL[,-c(1)], method = "spearman")
M
##                SAC          GLU         FRU           FC         SPAD
## SAC    1.000000000  0.525445841  0.45068405  0.021529213  0.166003669
## GLU    0.525445841  1.000000000  0.70482647 -0.044756644 -0.007819098
## FRU    0.450684046  0.704826470  1.00000000 -0.118635729 -0.063938589
## FC     0.021529213 -0.044756644 -0.11863573  1.000000000  0.134187802
## SPAD   0.166003669 -0.007819098 -0.06393859  0.134187802  1.000000000
## NT.x  -0.282142379 -0.190614862 -0.22002004 -0.190457888  0.084164269
## PT     0.067205992 -0.016144814  0.02471214 -0.153910468  0.319407314
## RWC    0.216368751  0.178044533  0.06687479  0.299742793  0.060085037
## GR     0.375032416  0.512144282  0.47980064 -0.016241477 -0.287564462
## ps.a  -0.115947093 -0.057600801  0.02221316 -0.004847030  0.056891250
## ps.r   0.088783278  0.099645310  0.07721607  0.169477116  0.174418740
## ps.tu  0.075096535  0.282896231  0.16227140  0.083215122  0.070182182
## ps.to -0.006336671  0.154170962  0.11412930  0.090870168  0.057590159
## NT.y   0.126424732  0.194613830  0.21156669  0.122236047 -0.057823129
## ppt   -0.066692293  0.081741886 -0.03500291 -0.102906183  0.113136008
## IC     0.111870191  0.247887291  0.13727432  0.002184659  0.021765213
##              NT.x           PT          RWC          GR         ps.a
## SAC   -0.28214238  0.067205992  0.216368751  0.37503242 -0.115947093
## GLU   -0.19061486 -0.016144814  0.178044533  0.51214428 -0.057600801
## FRU   -0.22002004  0.024712138  0.066874789  0.47980064  0.022213162
## FC    -0.19045789 -0.153910468  0.299742793 -0.01624148 -0.004847030
## SPAD   0.08416427  0.319407314  0.060085037 -0.28756446  0.056891250
## NT.x   1.00000000  0.317009814 -0.175447895 -0.35513664 -0.132960198
## PT     0.31700981  1.000000000 -0.006899022 -0.30538570  0.009289621
## RWC   -0.17544790 -0.006899022  1.000000000  0.04827384  0.040630424
## GR    -0.35513664 -0.305385697  0.048273835  1.00000000 -0.034869961
## ps.a  -0.13296020  0.009289621  0.040630424 -0.03486996  1.000000000
## ps.r  -0.07103170  0.072453217  0.198294641 -0.06862797  0.360349447
## ps.tu  0.06461345  0.133083280  0.124949037  0.03218404  0.097367501
## ps.to -0.15485911 -0.081562287  0.156260557  0.05532366  0.781025044
## NT.y  -0.06198674  0.094084346  0.106555849  0.18211000  0.176167734
## ppt    0.07014642 -0.042877860  0.084767086 -0.09508779 -0.009959231
## IC     0.20596629  0.245781813  0.032878260  0.07893313 -0.454793244
##              ps.r      ps.tu        ps.to        NT.y          ppt           IC
## SAC    0.08878328 0.07509654 -0.006336671  0.12642473 -0.066692293  0.111870191
## GLU    0.09964531 0.28289623  0.154170962  0.19461383  0.081741886  0.247887291
## FRU    0.07721607 0.16227140  0.114129295  0.21156669 -0.035002912  0.137274316
## FC     0.16947712 0.08321512  0.090870168  0.12223605 -0.102906183  0.002184659
## SPAD   0.17441874 0.07018218  0.057590159 -0.05782313  0.113136008  0.021765213
## NT.x  -0.07103170 0.06461345 -0.154859113 -0.06198674  0.070146420  0.205966290
## PT     0.07245322 0.13308328 -0.081562287  0.09408435 -0.042877860  0.245781813
## RWC    0.19829464 0.12494904  0.156260557  0.10655585  0.084767086  0.032878260
## GR    -0.06862797 0.03218404  0.055323664  0.18211000 -0.095087792  0.078933126
## ps.a   0.36034945 0.09736750  0.781025044  0.17616773 -0.009959231 -0.454793244
## ps.r   1.00000000 0.04068725  0.428211998  0.25125218 -0.177623762 -0.285230052
## ps.tu  0.04068725 1.00000000  0.572300524  0.33170646  0.497740245  0.722317997
## ps.to  0.42821200 0.57230052  1.000000000  0.34735003  0.221630751 -0.018427490
## NT.y   0.25125218 0.33170646  0.347350029  1.00000000 -0.509994176  0.178578917
## ppt   -0.17762376 0.49774024  0.221630751 -0.50999418  1.000000000  0.406639487
## IC    -0.28523005 0.72231800 -0.018427490  0.17857892  0.406639487  1.000000000
corrplot(M, method = 'number', order = 'hclust', addrect = 2)

# Cluster Kmeans

library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(cluster)

# Se reviso previamente cuales tenian mas correlaciones y se quitaron variables que no aportaban
names(TOTAL)
##  [1] "G"     "SAC"   "GLU"   "FRU"   "FC"    "SPAD"  "NT.x"  "PT"    "RWC"  
## [10] "GR"    "ps.a"  "ps.r"  "ps.tu" "ps.to" "NT.y"  "ppt"   "IC"
crec <- data.frame(scale(TOTAL[,-c(1,5,6,7,8,9,10,11,12,14,15) ]))
rownames(crec) <- TOTAL$G
crec
##              SAC          GLU          FRU        ps.tu          ppt
## 4   -0.208524687 -0.504352875 -0.575310907 -0.319746339  0.559227305
## 5   -0.322215730 -0.486041376 -0.497922739 -0.195710614 -0.150831184
## 6    0.423956534 -0.472307751 -0.383475448 -0.455834807 -1.233367987
## 7   -0.162449896  1.004056930  1.464303311 -0.639110211 -0.826810676
## 8   -0.335978330 -1.053531162 -0.856941982  0.212159947 -0.337304180
## 9    1.101914173  0.135786642  0.365336826 -0.477712787 -0.372000631
## 11  -0.329994590  0.132353236 -0.488112971 -0.483920478 -0.971397432
## 13   0.838629653 -0.011849826 -0.217799370 -0.035260332 -0.083787413
## 14  -0.175614122  2.087105852  2.931136087 -1.637246101  0.992656247
## 15   0.634584150 -0.159486294 -0.192729963 -0.177531904 -1.180980897
## 16  -0.152875914 -0.038554096 -0.149130995 -1.127712119 -1.248147098
## 17   0.124171206  0.031258497  0.086848418 -0.358790244  0.091803850
## 19  -0.191770218 -0.502445428 -0.117521744 -0.681152062  0.138014768
## 20   0.253419970  1.031524180  1.585562940 -0.118987106 -0.595254295
## 21   2.102395348  1.954728968  0.734838079 -0.006670423  1.149945482
## 23   1.234753181 -0.262869970 -0.856807098  0.407129220  1.550908004
## 24  -0.188778348 -0.373501949 -0.291645122 -1.231174993 -0.378053339
## 27   1.711657186  2.119532467  0.584694133 -0.177279126  0.139926462
## 30   0.137933806  0.288763965  1.320154223  0.903091078  0.872504559
## 31   0.069719180 -0.157960335 -0.216709396 -1.321504560 -1.514028124
## 32   0.847006888  0.672542484 -0.054303240 -0.103552047  0.346184364
## 33   0.140925676 -0.486041376 -0.429526858 -1.384679848 -1.010016703
## 35   1.639253943 -0.437592199 -0.856807916  0.681578163 -0.438407996
## 37   2.573913988  0.930810931  0.929125980  1.111118626 -0.595138029
## 38  -0.341962069 -0.190005460 -0.181830221 -0.456342406  0.426844123
## 41  -0.448472624  0.104123007  2.023187580 -0.559175351 -0.838296317
## 42  -0.321617356 -1.053441130 -0.856873041 -0.002307483 -0.561432919
## 43   1.645836056  1.181831075  0.362884384 -0.287461812 -0.983463708
## 44  -0.167835261 -0.415084313 -0.451053848 -0.355593165 -0.164449485
## 45  -0.009266175 -0.603540167 -0.856861869 -0.812075199  2.373080022
## 47  -0.255796226 -0.444459011  0.295850971 -0.170981990  0.202319248
## 51  -1.122389444 -0.669156375 -0.506370039 -0.453512707 -0.582119760
## 52  -0.468218963 -1.053425108 -0.558961294 -0.494324890 -0.977552742
## 53   0.598083342  0.730910390  0.570251975  1.089698880  0.239764748
## 56  -0.498137659 -0.641307635 -0.856846065  0.457271175  0.192204324
## 57   0.545426438 -0.148423096 -0.129511460  0.179491515 -0.173424622
## 59   0.004496424 -0.370450032 -0.856946342 -0.287715939  0.902944453
## 61   0.273764683 -1.053369029  0.686334227 -1.535358048 -0.822700304
## 62   0.243845988  0.338739100 -0.010431779  0.680926433  1.161604035
## 63  -0.443087259 -1.053332024 -0.462226084 -0.041203059 -0.411312673
## 65  -1.122315844 -1.053378566 -0.422987013 -1.190823275 -0.479393160
## 66   0.411390682 -0.392957918 -0.276112989 -0.066720426  0.429842942
## 67   0.245042736 -0.442933053  0.176498796 -1.024594529 -0.669133950
## 69   0.760242671 -0.208316960 -0.567136100  0.024640332 -0.149385339
## 70  -0.063119827 -0.467729876  0.847105421 -0.110002610 -0.541539560
## 71  -0.055939340 -0.172075450  1.021501293  0.259382352 -0.080060181
## 72   2.984996863  0.519183672  0.416020626  1.483210778  2.640738667
## 73   0.473023195  3.973953323 -0.071470334 -0.191078122 -0.653411290
## 74  -0.304264512 -0.586373135 -0.856809823 -0.800420382 -0.676224307
## 76   4.474349522  2.925619953  6.721521359  2.095721609 -0.382840030
## 79   1.133627990  1.834178260  0.413568184  2.325264443 -0.161679906
## 80  -0.203139322  0.420759360 -0.289192680  1.119521843 -0.047720535
## 81  -0.334183208 -0.080517950 -0.255403480 -1.102271028 -0.575613303
## 83   0.356938657 -0.254477200 -0.508822481 -0.583504286  0.636456856
## 86  -0.371880764 -0.448655397 -0.500647674  0.267518499  0.713159934
## 87  -0.329396217 -0.457811146 -0.190822509  0.713064942  0.332443487
## 88  -0.400004338  1.424458449  0.289583619  0.008562290 -0.567513731
## 91  -0.523867737 -0.101499877 -0.467948448  0.521824634 -0.189733535
## 93   0.230681762  1.778480781  0.626385646  0.628895509  1.182323082
## 96  -1.122555792 -0.631388906 -0.083187557  0.209376339  0.219095036
## 98  -1.122524676 -1.053499880 -0.857020188 -1.686546845  1.671974090
## 99  -0.206131191 -0.598962292 -0.441516574 -1.117118231 -0.979752906
## 101 -1.122604858 -0.073651138 -0.370395758  0.371233466  2.312703172
## 102 -0.045168610 -0.253714220 -0.426256935 -1.330951127 -1.184420410
## 103 -0.395217346  0.006843164  0.447357384  3.517652117  2.768826915
## 104  0.045185850  0.061777664  0.148976948 -0.023551825 -0.448131248
## 106 -0.231861269  0.988034368 -0.033866224  0.011758464  0.730196137
## 108  0.144515919 -0.043513461  0.008097783 -1.527011754 -1.791918244
## 109 -0.102014131 -0.238073147 -0.536616823 -0.880094769 -0.255989476
## 110 -0.398807590 -0.580650792 -0.036318666 -1.175891563  0.019137486
## 112 -1.122584514 -0.395246855 -0.537979290 -0.195159660 -0.514166212
## 113 -1.122538439 -0.629862948 -0.573675945 -0.645005647 -1.364605191
## 114 -1.122340975  2.023397092  0.874627270  0.496149068 -0.062992395
## 115 -1.122329606 -0.183520137 -0.399552567  3.628946401  1.708918159
## 116 -1.122476208 -0.482226480 -0.478303203  1.188773417  2.399562096
## 117 -1.122332598 -0.361675772 -0.157305802  0.550014355 -0.209456760
## 118 -0.267165330 -0.436829220 -0.340421467  0.512418050  1.018193761
## 119 -0.347347434 -0.187716523 -0.530076978  0.397483756  1.580415421
## 120 -0.399405964 -1.053383907 -0.238508880 -0.752009236 -0.589080623
## 121 -1.122253015 -0.376935355 -0.533346900 -0.490712650 -0.533320290
## 122 -0.479588068 -0.523427355 -0.082097582  0.558160830 -0.545711310
## 123 -1.122486380 -1.053496446 -0.856983401 -0.782829360 -1.201912548
## 124 -1.122456462 -0.041987503 -0.010159285 -0.849438153 -1.096617535
## 125 -0.289903539 -0.590569521 -0.856843067  0.497659450  0.003054377
## 126 -0.341363695 -0.357479387 -0.491927881  0.439153185  1.158449685
## 127 -0.419152303 -1.053363688 -0.856961602  0.141162329 -0.900181957
## 128 -1.122384058 -1.053390011 -0.271753093 -0.378160406  0.018268216
## 129 -0.256394600 -1.053365977 -0.856938712 -0.134067154 -0.026729657
## 131 -0.252804356 -0.606973573 -0.426801922  0.769575505  0.447173074
## 132 -0.041578367 -0.541738854 -0.366035861 -0.817926746 -1.357620492
## 133 -1.122348156 -0.160249273 -0.001984479  0.584913679  1.936866650
## 135 -0.066111697  0.090389382  0.532102878  3.118012601  1.634802764
## 136  3.729374005  0.591666692  1.570575795 -0.348867217 -1.605564846
## 137 -1.122444494 -1.053618905 -0.856808188 -1.142154842 -0.705065047
## 138 -0.393422225 -0.408980480 -0.546154097  0.591258113 -1.098587321
## 140 -1.122547414 -1.053594108 -0.857037628  2.046773821  1.503138806
## 141  1.471709248  3.829750261  2.514220956  0.876418317 -0.127901308
## 142 -0.468817337 -1.053363688 -0.857018826 -0.451711114  0.774408723
## 143  0.210935423  0.256337350  0.683064304  0.681390962 -0.186629354
## 144 -0.203139322  0.526813464  0.420653016  0.024053143 -0.819293844
## 145 -0.400004338  1.499993386 -0.562503710 -0.194158529  0.050094785
##                IC
## 4    1.7950368845
## 5    0.4648752208
## 6   -0.8092140305
## 7   -0.5419190664
## 8   -0.6551521023
## 9   -0.2906118482
## 11  -0.2561103374
## 13   0.0232895770
## 14  -1.5592809267
## 15  -0.0285322168
## 16  -0.9625533513
## 17   0.2045414447
## 19  -0.2354624118
## 20   0.9110546098
## 21  -0.2332550703
## 23   0.1141170860
## 24  -1.0444227048
## 27  -0.2884029640
## 30   1.1353882574
## 31  -0.8882851483
## 32  -0.4750925518
## 33  -0.9228336294
## 35   0.2863884452
## 37   0.5631154599
## 38  -0.2530083203
## 41  -0.5735556202
## 42  -0.8622495949
## 43   0.7015705340
## 44   0.0008098151
## 45  -0.7095642069
## 47   0.0736853630
## 51  -0.4201113047
## 52  -0.7764883967
## 53  -0.1798046508
## 56  -1.0735342117
## 57   0.5784065518
## 59   0.2750806935
## 61  -0.7642558794
## 62  -0.7334657913
## 63   0.0377625916
## 65  -0.9114552376
## 66   0.4965477006
## 67  -1.4748374869
## 69   0.8425109933
## 70  -0.1857675867
## 71   0.3830844906
## 72   1.0599161967
## 73  -0.2925723763
## 74  -0.6474443614
## 76   2.4517407167
## 79   1.4584883268
## 80   0.5219491329
## 81  -1.2180822672
## 83  -0.8884732476
## 86   0.2266012753
## 87   0.4205598847
## 88  -0.4465061311
## 91  -0.1665470311
## 93   0.3720159760
## 96   0.0406832572
## 98  -2.0994163074
## 99  -0.8353776378
## 101 -0.0422082325
## 102 -1.2358532288
## 103 -0.2310034233
## 104  0.5877474038
## 106 -0.0560155556
## 108 -1.6600035634
## 109 -0.8625177944
## 110 -1.4690620502
## 112  0.0433734614
## 113 -0.6543765970
## 114  0.8370053387
## 115  4.0256405532
## 116  3.7581226016
## 117  0.0683960166
## 118  1.0964811759
## 119  0.4313315946
## 120 -0.3292884433
## 121  0.4346202607
## 122 -0.0847860699
## 123 -0.0379008303
## 124 -0.8359843979
## 125 -0.0199301177
## 126  0.8955009524
## 127  1.2545816904
## 128 -0.1830433433
## 129 -0.0775887624
## 131  1.2957073928
## 132 -0.7351890066
## 133  1.8312049497
## 135  2.3512315510
## 136  0.0753695052
## 137 -1.3187989225
## 138 -0.7719423383
## 140  0.2857817317
## 141  0.3046171739
## 142 -0.2189987179
## 143  0.6791624108
## 144 -0.3644477513
## 145  0.1974889051
# Revisamos correlaciones de nuevo
M = cor(crec, method = "spearman")
M
##               SAC        GLU         FRU      ps.tu         ppt        IC
## SAC    1.00000000 0.52544584  0.45068405 0.07509654 -0.06669229 0.1118702
## GLU    0.52544584 1.00000000  0.70482647 0.28289623  0.08174189 0.2478873
## FRU    0.45068405 0.70482647  1.00000000 0.16227140 -0.03500291 0.1372743
## ps.tu  0.07509654 0.28289623  0.16227140 1.00000000  0.49774024 0.7223180
## ppt   -0.06669229 0.08174189 -0.03500291 0.49774024  1.00000000 0.4066395
## IC     0.11187019 0.24788729  0.13727432 0.72231800  0.40663949 1.0000000
corrplot(M, method = 'number', order = 'hclust', addrect = 2)

# Grafico de codo
fviz_nbclust(x=crec, FUNcluster=kmeans, method="wss", k.max=15,
             diss=get_dist(crec, method="euclidean"), nstart=50)

### Sel 4 grupos
km_clusters<- kmeans(x=crec, centers=3, nstart = 50)
fviz_cluster(object=km_clusters, data=crec)

# Cluster mas bonito
fviz_cluster(object=km_clusters, data=crec, show.clust.cent = TRUE,
             ellipse.type="euclid", star.plot=T, repel=T,
             pointsize=0.5, outlier.color="darkred")+
  labs(title="Resultados agrupaciento cluster K-means")+
  xlab(label = "Componente principal 1 (36%)")+
  ylab(label = "Componente principal 2 (36%)")+
  theme_bw()+
  theme(legend.position="none")