El datos aqui presentados corresponden a un ejemplo relacionado a los tiempos de actividades cotidianas.

Los datos corresponden a una subpoblación de hombres activos, conformando 27 individuos.

Se estudia la relación entre las actividades cotidianas y la frecuentación de diversos medios (prensa, radio, televisión, cine). Para hacerlo, se harán intervenir las características socioeconómicas (variables nominales) y los hábitos de frecuentación de los medios (variables numéricas continuas) como variables suplementarias.

A continuación se presenta la tabla de datos despues del proceso de organizar y nombras las filas y columnas

#Organizar los datos en una matriz
TablaDatos <- matrix(TablaDatos,byrow=27, ncol = 16)
#nombrar las columnas 
colnames(TablaDatos)<-c("IDENT","SUEÑ","REPO","COMC","TRAR","LADO","VISI","JARD","DIVE","MUSI","LECT","COMP","PASE","APIE","AUTO","FRME")
#nombrar las filas
rownames(TablaDatos)<-c("1111","1115","1121","1122","1123","1124","1136","1133","1134","2111","2112","2117","2121","2122","2123","2124","2131","2132","2133","2134","3116","3117","3121","3122","3123","3136","3137")

TablaDatos
##      IDENT SUEÑ  REPO COMC  TRAR LADO VISI  JARD DIVE MUSI LECT COMP PASE APIE
## 1111 463.8 23.8 107.3  4.9 300.0 21.3 51.0  82.3 10.0  1.2  0.0 41.3  6.9  7.1
## 1115 515.6 58.5 102.7 10.4 208.8 41.9 30.0  32.9  2.1  4.6  0.6 33.7  8.3 24.6
## 1121 463.3 34.2  84.8 17.1 298.3 18.1 37.8  55.8 18.4  5.9  2.6 30.7  5.9  8.8
## 1122 456.4 43.1  74.2 21.9 239.0 26.0 51.2  59.7 18.4  3.6  4.6 52.2  9.5 10.8
## 1123 478.0 44.2  76.7 15.2 212.3 22.3 42.0  43.7 18.4  2.3  6.4 48.3 14.7 15.5
## 1124 465.1 41.6  85.2 23.7 226.0 37.0 42.5  16.3 10.7  8.7  9.4 44.3 13.7 19.8
## 1136 458.4 47.4  94.7 15.1 314.3 25.3 39.1  42.4 16.9  0.9 16.7 34.5  4.6  6.4
## 1133 457.2 30.7  82.0 26.2 269.8 52.1 37.6  35.6 25.6  6.0  8.0 42.8 10.4 12.0
## 1134 465.2 40.2  78.6 31.1 268.6 36.3 21.6   4.0 19.4  6.0 14.9 46.9 10.7 21.9
## 2111 449.0 42.1  86.2  7.9 312.5 15.1 16.1 112.9 15.4  0.0  2.2 32.1  7.6  8.1
## 2112 450.2 63.1  86.7  9.8 249.6 40.4 55.6  83.3  3.0  2.2  0.0 45.0  9.4 10.4
## 2117 455.2 47.4  95.6  9.0 250.8 30.4 13.5  57.3  7.9  2.9  7.0 52.2 15.1 15.7
## 2121 461.9 39.3  90.3  8.5 323.5 14.9 21.7  81.1 15.4  1.2  5.3 26.0  3.8  7.4
## 2122 453.7 44.7  97.5 18.7 269.0 23.1 39.6  93.5  3.1  3.4 12.1 42.0 12.1 10.6
## 2123 433.1 49.8  91.7 12.6 283.7 22.4 21.0  62.9 13.1  6.2  7.3 38.1 11.6 11.7
## 2124 438.3 32.8 102.3 11.1 338.3 28.0  6.5  64.8 13.8  1.4 19.8 34.9  7.4 14.1
## 2131 457.7 44.0  87.9  6.9 313.0 24.4 23.2  63.8  9.2  0.6 11.8 30.0  7.3  7.5
## 2132 455.0 47.0  78.9 31.6 380.6 23.9  7.5  40.0 13.0  0.0 10.3 23.3  1.4  9.4
## 2133 467.3 37.5  86.9 21.9 264.0 40.8 27.6  33.4 11.9  1.6 10.8 45.3  6.7 10.7
## 2134 433.5 35.6  76.1 17.1 355.0 34.1 13.4  31.7 12.6  3.2 13.2 37.5  8.5 22.3
## 3116 473.0 51.5  99.3  6.3 356.3 21.2 27.6  82.1  8.6  0.0  1.5 35.7 13.4  7.1
## 3117 461.9 60.0 103.7  9.1 240.5 35.3 14.5  83.4  1.4  2.0  7.4 46.1  5.7 16.6
## 3121 453.4 45.6  86.2  7.8 358.7 12.9 18.5  54.4  4.2  0.0  4.9 34.3  3.3 10.3
## 3122 485.1 53.5  86.0  0.3 222.4 24.7 23.2  91.9  8.5  0.0  3.7 52.9  7.1  9.9
## 3123 456.7 43.2  94.6 12.1 265.3 30.5 23.7  61.1  9.1  2.3 11.6 50.1 17.6 13.2
## 3136 444.2 53.6  90.7  7.2 302.4 31.7 16.4  97.6  4.7  2.4  4.3 38.8 13.6 11.4
## 3137 438.4 50.7  81.0 11.2 306.6 19.3 23.8  10.5 13.6  0.0 18.4 67.6  8.3 18.6
##      AUTO  FRME
## 1111 52.1 135.8
## 1115 29.4 225.8
## 1121 56.7 135.8
## 1122 72.7 142.3
## 1123 72.8 167.7
## 1124 59.0 145.1
## 1136 61.5 103.4
## 1133 81.4 107.6
## 1134 48.3  82.4
## 2111 60.1 153.9
## 2112 61.9 145.4
## 2117 49.1 194.8
## 2121 59.6 130.8
## 2122 62.4 129.1
## 2123 47.6 168.6
## 2124 53.2 130.5
## 2131 69.7 108.3
## 2132 59.4 100.0
## 2133 72.8 135.2
## 2134 57.5  96.5
## 3116 40.6 107.7
## 3117 53.3 183.7
## 3121 48.7 143.1
## 3122 75.3 166.3
## 3123 46.3 185.3
## 3136 61.8 127.2
## 3137 63.1 143.3

Cada fila corresponde a la identificación del individuo:

1er carácter es la edad del grupo (1=joven, 2=media, 3=viejo).

2do carácter es aquí siempre igual a 1 (puesto que se trata de una selección de hombres (activos)

3er nivel de educación (1=primaria, 2=secundaria, 3=superior)

4to tipo de aglomeración (1=comunas rurales, 2=ciudades medianas,3=ciudades grandes, 4=aglomeración parisina, 5,6,7=grupos mixtos).

Ahora, se determina los datos descriptivos de la tabla de datos:

resumen <- round( cbind(media, desv.estand, minimo, maximo), 2 )
resumen
##        media desv.estand minimo maximo
## IDENT 458.91       16.78  433.1  515.6
## SUEÑ   44.63        9.07   23.8   63.1
## REPO   89.18        9.07   74.2  107.3
## COMC   13.88        7.96    0.3   31.6
## TRAR  286.27       47.64  208.8  380.6
## LADO   27.90        9.46   12.9   52.1
## VISI   27.64       13.51    6.5   55.6
## JARD   58.46       27.89    4.0  112.9
## DIVE   11.42        6.06    1.4   25.6
## MUSI    2.54        2.36    0.0    8.7
## LECT    7.96        5.58    0.0   19.8
## COMP   40.99        9.65   23.3   67.6
## PASE    9.06        3.96    1.4   17.6
## APIE   12.66        5.10    6.4   24.6
## AUTO   58.38       11.50   29.4   81.4
## FRME  140.58       33.18   82.4  225.8

Ahora se normalizara los datos, tomando la nube individuos, para determinar la matriz de correlación usando la expresión Z´NZ

Z <- scale(TablaDatos)  # tabla normalizada
N <- diag(1/27, nrow = 27)   # pesos
MatrizCorrelacion <- round(t(Z) %*% N %*% Z, 2)
MatrizCorrelacion
##       IDENT  SUEÑ  REPO  COMC  TRAR  LADO  VISI  JARD  DIVE  MUSI  LECT  COMP
## IDENT  0.96  0.20  0.20 -0.08 -0.50  0.19  0.26 -0.08 -0.16  0.07 -0.42 -0.04
## SUEÑ   0.20  0.96  0.10 -0.29 -0.27  0.08 -0.08  0.18 -0.59 -0.17 -0.21  0.17
## REPO   0.20  0.10  0.96 -0.51 -0.02 -0.01 -0.06  0.41 -0.53 -0.15 -0.14 -0.16
## COMC  -0.08 -0.29 -0.51  0.96 -0.01  0.38  0.10 -0.62  0.50  0.50  0.37 -0.03
## TRAR  -0.50 -0.27 -0.02 -0.01  0.96 -0.44 -0.45  0.07  0.10 -0.45  0.23 -0.53
## LADO   0.19  0.08 -0.01  0.38 -0.44  0.96  0.15 -0.35 -0.01  0.48  0.08  0.22
## VISI   0.26 -0.08 -0.06  0.10 -0.45  0.15  0.96 -0.02  0.12  0.29 -0.34  0.23
## JARD  -0.08  0.18  0.41 -0.62  0.07 -0.35 -0.02  0.96 -0.38 -0.40 -0.49 -0.23
## DIVE  -0.16 -0.59 -0.53  0.50  0.10 -0.01  0.12 -0.38  0.96  0.24  0.26 -0.01
## MUSI   0.07 -0.17 -0.15  0.50 -0.45  0.48  0.29 -0.40  0.24  0.96 -0.01  0.08
## LECT  -0.42 -0.21 -0.14  0.37  0.23  0.08 -0.34 -0.49  0.26 -0.01  0.96  0.18
## COMP  -0.04  0.17 -0.16 -0.03 -0.53  0.22  0.23 -0.23 -0.01  0.08  0.18  0.96
## PASE   0.00  0.09  0.04 -0.02 -0.44  0.26  0.17 -0.01 -0.05  0.38 -0.02  0.46
## APIE   0.16  0.14 -0.13  0.27 -0.36  0.47 -0.17 -0.59 -0.09  0.46  0.26  0.36
## AUTO  -0.18 -0.21 -0.53  0.20 -0.15  0.10  0.26  0.03  0.43 -0.08  0.14  0.22
## FRME   0.39  0.41  0.36 -0.42 -0.60  0.05  0.01  0.18 -0.43  0.07 -0.36  0.29
##        PASE  APIE  AUTO  FRME
## IDENT  0.00  0.16 -0.18  0.39
## SUEÑ   0.09  0.14 -0.21  0.41
## REPO   0.04 -0.13 -0.53  0.36
## COMC  -0.02  0.27  0.20 -0.42
## TRAR  -0.44 -0.36 -0.15 -0.60
## LADO   0.26  0.47  0.10  0.05
## VISI   0.17 -0.17  0.26  0.01
## JARD  -0.01 -0.59  0.03  0.18
## DIVE  -0.05 -0.09  0.43 -0.43
## MUSI   0.38  0.46 -0.08  0.07
## LECT  -0.02  0.26  0.14 -0.36
## COMP   0.46  0.36  0.22  0.29
## PASE   0.96  0.29 -0.10  0.27
## APIE   0.29  0.96 -0.31  0.27
## AUTO  -0.10 -0.31  0.96 -0.32
## FRME   0.27  0.27 -0.32  0.96

La matriz de correlaciones nos arroja información sobre la relación existente entre las variables, con el ACP se permitira obtener una sinteis de las relaciones de dichas variables.

Se determina los valores propios y los porcentajes de varianza (inercia)

lambda <- round(eigen(MatrizCorrelacion)$values, 4) # valores propios
round(sum(lambda), 0) # inercia o varianza total
## [1] 15
lambda
##  [1] 3.7282 3.5178 1.9282 1.4562 1.0727 0.8033 0.7366 0.5762 0.4236 0.3598
## [11] 0.2365 0.2062 0.1496 0.1090 0.0363 0.0198

La suma de valores propios es igual al número de variables o sea 16.

Teniendo la frecuencia absoluta y acumuladade los valores propios se tiene que:

FrecuenciAbsoluta <- round(prop.table(lambda), 2) # frecuencia absoluta de valores propios

FrecuenciAcumulada<- round(cumsum(FrecuenciAbsoluta), 2) # frecuencia acumulada de valores propios

distribucion <- as.data.frame( cbind(numero = 1:16,  lambda, FrecuenciAbsoluta, FrecuenciAcumulada) )

distribucion
##    numero lambda FrecuenciAbsoluta FrecuenciAcumulada
## 1       1 3.7282              0.24               0.24
## 2       2 3.5178              0.23               0.47
## 3       3 1.9282              0.13               0.60
## 4       4 1.4562              0.09               0.69
## 5       5 1.0727              0.07               0.76
## 6       6 0.8033              0.05               0.81
## 7       7 0.7366              0.05               0.86
## 8       8 0.5762              0.04               0.90
## 9       9 0.4236              0.03               0.93
## 10     10 0.3598              0.02               0.95
## 11     11 0.2365              0.02               0.97
## 12     12 0.2062              0.01               0.98
## 13     13 0.1496              0.01               0.99
## 14     14 0.1090              0.01               1.00
## 15     15 0.0363              0.00               1.00
## 16     16 0.0198              0.00               1.00

Se presenta a continuación los 16 primeros valores propios, el cual Se nota que el histograma, que existe una concentración neta de la nube en un subespacio de dos dimensiones, el plano factorial principal.

hist(FrecuenciAcumulada, freq = FALSE)

Ahora, se presenta los verctores propios y sus valors asociados

MatrizVectores <- eigen(MatrizCorrelacion)$vectors # matriz con vectores propios columna


Vectores <-  round(MatrizVectores[, 1:5], 2) # vector propios asociados a los valores propios mas grandes

colnames(Vectores) <- c("u1", "u2", "u3", "u4", "u5")

Vectores
##          u1    u2    u3    u4    u5
##  [1,] -0.12 -0.27  0.13  0.40 -0.37
##  [2,] -0.24 -0.21 -0.12 -0.21 -0.45
##  [3,] -0.34 -0.07 -0.16  0.18  0.36
##  [4,]  0.43 -0.01 -0.05  0.22 -0.09
##  [5,] -0.02  0.46 -0.24  0.06  0.07
##  [6,]  0.20 -0.30 -0.06  0.11 -0.04
##  [7,]  0.06 -0.17  0.52  0.14  0.10
##  [8,] -0.38  0.12  0.25 -0.10  0.22
##  [9,]  0.37  0.15  0.21  0.07  0.09
## [10,]  0.26 -0.28  0.01  0.30  0.32
## [11,]  0.28  0.12 -0.36 -0.30  0.05
## [12,]  0.10 -0.29  0.07 -0.56  0.01
## [13,]  0.04 -0.31  0.02 -0.25  0.53
## [14,]  0.18 -0.33 -0.40 -0.01 -0.10
## [15,]  0.21  0.11  0.45 -0.32 -0.21
## [16,] -0.26 -0.35 -0.03 -0.07 -0.03

Ahora con los vectores calculados se determina las coordenadas de la nube de puntos individuos en los 5 ejes que mas variabilidad absorben

psi <-  round(Z %*% Vectores, 2 )
psi <- as.data.frame(psi)

colnames(psi) <-  c("coor1", "coor2", "coor3", "coor4", "coor5")

psi
##      coor1 coor2 coor3 coor4 coor5
## 1111 -1.94  0.89  1.78  1.36  1.82
## 1115 -2.35 -4.97 -1.84  3.01 -1.54
## 1121  0.71  0.99  1.35  2.02  0.51
## 1122  1.80 -0.66  2.63 -0.62 -0.37
## 1123  1.20 -1.81  1.93 -0.81 -0.53
## 1124  2.59 -2.93 -0.05  0.92  0.70
## 1136  0.60  1.93  0.22  0.29 -0.48
## 1133  4.13 -0.37  1.83  0.77  0.56
## 1134  4.19 -0.98 -1.67  0.82 -0.14
## 2111 -1.81  2.12  0.88 -0.26  0.23
## 2112 -1.45 -1.62  1.72 -0.57 -0.70
## 2117 -1.06 -2.11 -1.14 -1.16  0.95
## 2121 -1.17  2.54  0.61  1.04 -0.23
## 2122 -0.61 -0.20  0.47 -0.45  1.16
## 2123 -0.30 -0.33 -0.74 -0.10  1.48
## 2124  0.19  2.03 -2.28 -0.34  1.40
## 2131 -0.49  2.01  0.29 -0.27 -0.44
## 2132  1.24  3.45 -1.32  1.21 -2.04
## 2133  1.60 -0.13  0.52  0.00 -0.92
## 2134  2.52  1.29 -2.11 -0.31  0.15
## 3116 -2.61  0.98 -0.15  0.69  0.75
## 3117 -2.42 -1.76 -1.34 -0.52 -0.89
## 3121 -1.82  2.11 -0.96  0.23 -0.94
## 3122 -2.11 -0.90  1.79 -1.52 -1.79
## 3123 -0.59 -1.71 -0.88 -1.09  1.59
## 3136 -1.52  0.11 -0.15 -1.03  0.68
## 3137  1.51  0.04 -1.41 -3.31 -0.98

Ahora se determina las contribuciones de cada individuo sobre cada eje y el calculo de los cosenos cuadrados

contrib1 <- ((1/27)/(lambda[1]) )* psi[, 1]*psi[, 1] *100
contrib2 <- ((1/27)/(lambda[2]) )* psi[, 2]*psi[, 2] *100
contrib3 <- ((1/27)/(lambda[3]) )* psi[, 3]*psi[, 3] *100
contrib4 <- ((1/27)/(lambda[4]) )* psi[, 4]*psi[, 4] *100
contrib5 <- ((1/27)/(lambda[5]) )* psi[, 5]*psi[, 5] *100


psicompleta <- Z %*% MatrizVectores
g <- apply(psicompleta, MARGIN = 2, FUN = mean)
cos1 <- c(); cos2 <- c(); cos3 <- c(); cos4 <- c(); cos5 <- c()

for(i in (1:27)){
  cos1[i] <- (psicompleta[i, 1]*psicompleta[i, 1])/sum( (Z[i, ]-g)*(Z[i, ]-g) )
  cos2[i] <- (psicompleta[i, 2]*psicompleta[i, 2])/sum( (Z[i, ]-g)*(Z[i, ]-g) )
  cos3[i] <- (psicompleta[i, 3]*psicompleta[i, 3])/sum( (Z[i, ]-g)*(Z[i, ]-g) )
  cos4[i] <- (psicompleta[i, 4]*psicompleta[i, 4])/sum( (Z[i, ]-g)*(Z[i, ]-g) )
  cos5[i] <- (psicompleta[i, 5]*psicompleta[i, 5])/sum( (Z[i, ]-g)*(Z[i, ]-g) )
}

individuos <- cbind(psi, contrib1, contrib2, contrib3, contrib4, contrib5, cos1, cos2, cos3, cos4, cos5)

individuos <- round(individuos,2)
individuos # resultados individuos
##      coor1 coor2 coor3 coor4 coor5 contrib1 contrib2 contrib3 contrib4 contrib5
## 1111 -1.94  0.89  1.78  1.36  1.82     3.74     0.83     6.09     4.70    11.44
## 1115 -2.35 -4.97 -1.84  3.01 -1.54     5.49    26.01     6.50    23.04     8.19
## 1121  0.71  0.99  1.35  2.02  0.51     0.50     1.03     3.50    10.38     0.90
## 1122  1.80 -0.66  2.63 -0.62 -0.37     3.22     0.46    13.29     0.98     0.47
## 1123  1.20 -1.81  1.93 -0.81 -0.53     1.43     3.45     7.15     1.67     0.97
## 1124  2.59 -2.93 -0.05  0.92  0.70     6.66     9.04     0.00     2.15     1.69
## 1136  0.60  1.93  0.22  0.29 -0.48     0.36     3.92     0.09     0.21     0.80
## 1133  4.13 -0.37  1.83  0.77  0.56    16.94     0.14     6.43     1.51     1.08
## 1134  4.19 -0.98 -1.67  0.82 -0.14    17.44     1.01     5.36     1.71     0.07
## 2111 -1.81  2.12  0.88 -0.26  0.23     3.25     4.73     1.49     0.17     0.18
## 2112 -1.45 -1.62  1.72 -0.57 -0.70     2.09     2.76     5.68     0.83     1.69
## 2117 -1.06 -2.11 -1.14 -1.16  0.95     1.12     4.69     2.50     3.42     3.12
## 2121 -1.17  2.54  0.61  1.04 -0.23     1.36     6.79     0.71     2.75     0.18
## 2122 -0.61 -0.20  0.47 -0.45  1.16     0.37     0.04     0.42     0.52     4.65
## 2123 -0.30 -0.33 -0.74 -0.10  1.48     0.09     0.11     1.05     0.03     7.56
## 2124  0.19  2.03 -2.28 -0.34  1.40     0.04     4.34     9.99     0.29     6.77
## 2131 -0.49  2.01  0.29 -0.27 -0.44     0.24     4.25     0.16     0.19     0.67
## 2132  1.24  3.45 -1.32  1.21 -2.04     1.53    12.53     3.35     3.72    14.37
## 2133  1.60 -0.13  0.52  0.00 -0.92     2.54     0.02     0.52     0.00     2.92
## 2134  2.52  1.29 -2.11 -0.31  0.15     6.31     1.75     8.55     0.24     0.08
## 3116 -2.61  0.98 -0.15  0.69  0.75     6.77     1.01     0.04     1.21     1.94
## 3117 -2.42 -1.76 -1.34 -0.52 -0.89     5.82     3.26     3.45     0.69     2.73
## 3121 -1.82  2.11 -0.96  0.23 -0.94     3.29     4.69     1.77     0.13     3.05
## 3122 -2.11 -0.90  1.79 -1.52 -1.79     4.42     0.85     6.15     5.88    11.06
## 3123 -0.59 -1.71 -0.88 -1.09  1.59     0.35     3.08     1.49     3.02     8.73
## 3136 -1.52  0.11 -0.15 -1.03  0.68     2.30     0.01     0.04     2.70     1.60
## 3137  1.51  0.04 -1.41 -3.31 -0.98     2.27     0.00     3.82    27.87     3.32
##      cos1 cos2 cos3 cos4 cos5
## 1111 0.20 0.04 0.16 0.10 0.17
## 1115 0.12 0.53 0.08 0.20 0.05
## 1121 0.05 0.09 0.18 0.40 0.02
## 1122 0.26 0.04 0.55 0.03 0.01
## 1123 0.11 0.23 0.27 0.05 0.02
## 1124 0.37 0.47 0.00 0.04 0.03
## 1136 0.03 0.36 0.00 0.01 0.02
## 1133 0.65 0.01 0.13 0.02 0.01
## 1134 0.72 0.04 0.11 0.03 0.00
## 2111 0.27 0.36 0.06 0.00 0.00
## 2112 0.12 0.16 0.18 0.02 0.03
## 2117 0.11 0.42 0.12 0.12 0.09
## 2121 0.13 0.61 0.04 0.10 0.01
## 2122 0.05 0.01 0.03 0.03 0.18
## 2123 0.01 0.01 0.07 0.00 0.28
## 2124 0.00 0.27 0.35 0.01 0.13
## 2131 0.04 0.56 0.01 0.01 0.03
## 2132 0.06 0.50 0.07 0.06 0.18
## 2133 0.34 0.00 0.04 0.00 0.12
## 2134 0.38 0.10 0.27 0.01 0.00
## 3116 0.44 0.07 0.00 0.03 0.04
## 3117 0.38 0.20 0.12 0.02 0.05
## 3121 0.26 0.36 0.08 0.00 0.07
## 3122 0.27 0.05 0.20 0.14 0.19
## 3123 0.04 0.29 0.08 0.12 0.26
## 3136 0.27 0.00 0.00 0.12 0.05
## 3137 0.11 0.00 0.09 0.53 0.04

Ahora la nube de variables, correspnde a las coordenadas de las variables sobre los ejes 1 a 5.

v1 <- ( 1/sqrt(lambda[1]) ) * sqrt(N) %*% psi[, 1]
v2 <- ( 1/sqrt(lambda[2]) ) * sqrt(N) %*% psi[, 2]
v3 <- ( 1/sqrt(lambda[3]) ) * sqrt(N) %*% psi[, 3]
v4 <- ( 1/sqrt(lambda[4]) ) * sqrt(N) %*% psi[, 4]
v5 <- ( 1/sqrt(lambda[5]) ) * sqrt(N) %*% psi[, 5]

V <- cbind(v1, v2, v3, v4, v5)

phi <- as.data.frame( round( t(Z) %*% sqrt(N) %*% V, 2) ) # coordenadas de la nube de puntos columna en los 5 ejes que mas variabilidad absorben
colnames(phi) <- c("coor1", "coor2", "coor3", "coor4", "coor5")
V <- as.data.frame(V) # matriz con columnas v alfa

corr1 <- c(); corr2 <- c(); corr3 <- c(); corr4 <- c(); corr5 <- c()

for (i in (1:16)){
  corr1[i] <- cor(Z[, i], psi[, 1])
  corr2[i] <- cor(Z[, i], psi[, 2])
  corr3[i] <- cor(Z[, i], psi[, 3])
  corr4[i] <- cor(Z[, i], psi[, 4])
  corr5[i] <- cor(Z[, i], psi[, 5])
}

variables <- cbind(phi, corr1, corr2, corr3, corr4, corr5, Vectores)
variables <- round(variables, 2)
variables
##       coor1 coor2 coor3 coor4 coor5 corr1 corr2 corr3 corr4 corr5    u1    u2
## IDENT -0.23 -0.51  0.18  0.48 -0.40 -0.23 -0.51  0.19  0.49 -0.40 -0.12 -0.27
## SUEÑ  -0.46 -0.39 -0.16 -0.26 -0.47 -0.47 -0.40 -0.17 -0.26 -0.48 -0.24 -0.21
## REPO  -0.66 -0.13 -0.22  0.21  0.38 -0.67 -0.13 -0.23  0.21  0.38 -0.34 -0.07
## COMC   0.83 -0.01 -0.07  0.27 -0.09  0.84 -0.01 -0.07  0.28 -0.09  0.43 -0.01
## TRAR  -0.03  0.87 -0.33  0.08  0.08 -0.03  0.88 -0.34  0.08  0.08 -0.02  0.46
## LADO   0.38 -0.57 -0.08  0.14 -0.05  0.39 -0.58 -0.08  0.14 -0.05  0.20 -0.30
## VISI   0.12 -0.33  0.72  0.17  0.10  0.12 -0.33  0.73  0.17  0.10  0.06 -0.17
## JARD  -0.74  0.23  0.35 -0.13  0.23 -0.76  0.23  0.36 -0.13  0.23 -0.38  0.12
## DIVE   0.71  0.29  0.29  0.09  0.10  0.73  0.29  0.29  0.09  0.10  0.37  0.15
## MUSI   0.51 -0.53  0.01  0.36  0.33  0.52 -0.53  0.01  0.37  0.34  0.26 -0.28
## LECT   0.54  0.22 -0.50 -0.36  0.05  0.55  0.22 -0.51 -0.37  0.05  0.28  0.12
## COMP   0.20 -0.54  0.10 -0.68  0.01  0.20 -0.55  0.10 -0.69  0.01  0.10 -0.29
## PASE   0.08 -0.58  0.03 -0.30  0.55  0.08 -0.58  0.03 -0.30  0.56  0.04 -0.31
## APIE   0.35 -0.62 -0.56 -0.01 -0.11  0.35 -0.63 -0.57 -0.01 -0.12  0.18 -0.33
## AUTO   0.41  0.21  0.62 -0.38 -0.21  0.42  0.21  0.64 -0.39 -0.22  0.21  0.11
## FRME  -0.50 -0.66 -0.04 -0.08 -0.04 -0.51 -0.67 -0.04 -0.09 -0.04 -0.26 -0.35
##          u3    u4    u5
## IDENT  0.13  0.40 -0.37
## SUEÑ  -0.12 -0.21 -0.45
## REPO  -0.16  0.18  0.36
## COMC  -0.05  0.22 -0.09
## TRAR  -0.24  0.06  0.07
## LADO  -0.06  0.11 -0.04
## VISI   0.52  0.14  0.10
## JARD   0.25 -0.10  0.22
## DIVE   0.21  0.07  0.09
## MUSI   0.01  0.30  0.32
## LECT  -0.36 -0.30  0.05
## COMP   0.07 -0.56  0.01
## PASE   0.02 -0.25  0.53
## APIE  -0.40 -0.01 -0.10
## AUTO   0.45 -0.32 -0.21
## FRME  -0.03 -0.07 -0.03

Los graficos

#install.packages("FactoMineR")
library(FactoMineR)
## Warning: replacing previous import 'lifecycle::last_warnings' by
## 'rlang::last_warnings' when loading 'tibble'
## Warning: replacing previous import 'lifecycle::last_warnings' by
## 'rlang::last_warnings' when loading 'pillar'
ACPTablaDatos <- PCA(TablaDatos, graph = FALSE)

g1 <- plot(ACPTablaDatos, choix = "ind") # grafico nube de individuos
g2 <- plot(ACPTablaDatos, choix = "var") # grafico nube de variables

#install.packages(("patchwork"))
library(patchwork)
## Warning: package 'patchwork' was built under R version 4.1.3
g <- g1 + g2

graficos <- g + plot_annotation(
  title = "representacion de los 27 inviduos y 16
  variables en el plano de los factores 1 y 2"
)

g