Utilizando Principal Component Analysis (PCA) no R

A partir da bibliteca factoextra é possível rodar PCA no R. Essa biblioteca conta com duas funções principais que são a prcomp e princomp.

A função prcomp utiliza a decomposição de valor singuar (SVD) erealiza cálculos a partir da decomposição de valor singular de uma matriz de dados por default centralizada e escalada, sem utilizar autovalores na matriz de covariância. Método preferido para precisão numérica.

A função princomp utiliza a abordagem de decomposição espectral e realiza cálculos utilizando autovalores de uma matriz de correlação ou covariância. Essa abordagem é realizada para compatibilidade com resultados do S-PLUS.

Dados

Para este exercício foi utilizada a base Wine onde os vinhos são classificados em três classes. Como tais classes diferem em termos de intensidade de cor, as classes foram renomeadas como Branco, Rosê e Tinto

library(factoextra)

dadoswine = read.table(file = "wine.csv", header = 0, sep = ",", na.strings = "NA")
names(dadoswine) = c("Classe", "Alcohol", "MalicAcid", "Ash", "Alcalinity", "Magnesium", "Phenols", "Flavanoids",
    "Nonflavanoid", "Proanthocyanins", "Colorintensity", "Hue", "OD280OD315", "Proline")

dadoswine$Classe = ifelse(dadoswine$Classe==1, "R", ifelse(dadoswine$Classe ==2, "B", "T"))

base = dadoswine
dadoswine$Classe = paste(dadoswine$Classe, 1:nrow(dadoswine), sep = "-")
rownames(dadoswine) = dadoswine$Classe

dadoswine$Classe = NULL
linhas = nrow(dadoswine)
head(base)
##   Classe Alcohol MalicAcid  Ash Alcalinity Magnesium Phenols Flavanoids
## 1      R   14.23      1.71 2.43       15.6       127    2.80       3.06
## 2      R   13.20      1.78 2.14       11.2       100    2.65       2.76
## 3      R   13.16      2.36 2.67       18.6       101    2.80       3.24
## 4      R   14.37      1.95 2.50       16.8       113    3.85       3.49
## 5      R   13.24      2.59 2.87       21.0       118    2.80       2.69
## 6      R   14.20      1.76 2.45       15.2       112    3.27       3.39
##   Nonflavanoid Proanthocyanins Colorintensity  Hue OD280OD315 Proline
## 1         0.28            2.29           5.64 1.04       3.92    1065
## 2         0.26            1.28           4.38 1.05       3.40    1050
## 3         0.30            2.81           5.68 1.03       3.17    1185
## 4         0.24            2.18           7.80 0.86       3.45    1480
## 5         0.39            1.82           4.32 1.04       2.93     735
## 6         0.34            1.97           6.75 1.05       2.85    1450

PCA

Inicialmente foi aplicado o PCA para o máximo número de componentes possível.

res.pca <- prcomp(dadoswine, scale = TRUE)
res.pca
## Standard deviations (1, .., p=13):
##  [1] 2.1692972 1.5801816 1.2025273 0.9586313 0.9237035 0.8010350 0.7423128
##  [8] 0.5903367 0.5374755 0.5009017 0.4751722 0.4108165 0.3215244
## 
## Rotation (n x k) = (13 x 13):
##                          PC1          PC2         PC3         PC4         PC5
## Alcohol         -0.144329395  0.483651548 -0.20738262  0.01785630 -0.26566365
## MalicAcid        0.245187580  0.224930935  0.08901289 -0.53689028  0.03521363
## Ash              0.002051061  0.316068814  0.62622390  0.21417556 -0.14302547
## Alcalinity       0.239320405 -0.010590502  0.61208035 -0.06085941  0.06610294
## Magnesium       -0.141992042  0.299634003  0.13075693  0.35179658  0.72704851
## Phenols         -0.394660845  0.065039512  0.14617896 -0.19806835 -0.14931841
## Flavanoids      -0.422934297 -0.003359812  0.15068190 -0.15229479 -0.10902584
## Nonflavanoid     0.298533103  0.028779488  0.17036816  0.20330102 -0.50070298
## Proanthocyanins -0.313429488  0.039301722  0.14945431 -0.39905653  0.13685982
## Colorintensity   0.088616705  0.529995672 -0.13730621 -0.06592568 -0.07643678
## Hue             -0.296714564 -0.279235148  0.08522192  0.42777141 -0.17361452
## OD280OD315      -0.376167411 -0.164496193  0.16600459 -0.18412074 -0.10116099
## Proline         -0.286752227  0.364902832 -0.12674592  0.23207086 -0.15786880
##                         PC6         PC7         PC8         PC9        PC10
## Alcohol          0.21353865 -0.05639636  0.39613926 -0.50861912  0.21160473
## MalicAcid        0.53681385  0.42052391  0.06582674  0.07528304 -0.30907994
## Ash              0.15447466 -0.14917061 -0.17026002  0.30769445 -0.02712539
## Alcalinity      -0.10082451 -0.28696914  0.42797018 -0.20044931  0.05279942
## Magnesium        0.03814394  0.32288330 -0.15636143 -0.27140257  0.06787022
## Phenols         -0.08412230 -0.02792498 -0.40593409 -0.28603452 -0.32013135
## Flavanoids      -0.01892002 -0.06068521 -0.18724536 -0.04957849 -0.16315051
## Nonflavanoid    -0.25859401  0.59544729 -0.23328465 -0.19550132  0.21553507
## Proanthocyanins -0.53379539  0.37213935  0.36822675  0.20914487  0.13418390
## Colorintensity  -0.41864414 -0.22771214 -0.03379692 -0.05621752 -0.29077518
## Hue              0.10598274  0.23207564  0.43662362 -0.08582839 -0.52239889
## OD280OD315       0.26585107 -0.04476370 -0.07810789 -0.13722690  0.52370587
## Proline          0.11972557  0.07680450  0.12002267  0.57578611  0.16211600
##                        PC11        PC12        PC13
## Alcohol          0.22591696 -0.26628645  0.01496997
## MalicAcid       -0.07648554  0.12169604  0.02596375
## Ash              0.49869142 -0.04962237 -0.14121803
## Alcalinity      -0.47931378 -0.05574287  0.09168285
## Magnesium       -0.07128891  0.06222011  0.05677422
## Phenols         -0.30434119 -0.30388245 -0.46390791
## Flavanoids       0.02569409 -0.04289883  0.83225706
## Nonflavanoid    -0.11689586  0.04235219  0.11403985
## Proanthocyanins  0.23736257 -0.09555303 -0.11691707
## Colorintensity  -0.03183880  0.60422163 -0.01199280
## Hue              0.04821201  0.25921400 -0.08988884
## OD280OD315      -0.04642330  0.60095872 -0.15671813
## Proline         -0.53926983 -0.07940162  0.01444734

PAreto

Com auxílio do Gráfico de Pareto foram avaliados os principais componentas a explicar a maior parte da variação dos dados.

fviz_eig(res.pca)

Corte

PAra utilização de componentes proncipis foram utilizadas as combinações do número máximo de componentes admitidos e critério de Kaiser.

Rank

Com uso do parÂmetro rank. é determinado o número máximo de fatores a ser adotado na análise

res.pca <- prcomp(dadoswine, scale = TRUE, rank. = 4)
res.pca
## Standard deviations (1, .., p=13):
##  [1] 2.1692972 1.5801816 1.2025273 0.9586313 0.9237035 0.8010350 0.7423128
##  [8] 0.5903367 0.5374755 0.5009017 0.4751722 0.4108165 0.3215244
## 
## Rotation (n x k) = (13 x 4):
##                          PC1          PC2         PC3         PC4
## Alcohol         -0.144329395  0.483651548 -0.20738262  0.01785630
## MalicAcid        0.245187580  0.224930935  0.08901289 -0.53689028
## Ash              0.002051061  0.316068814  0.62622390  0.21417556
## Alcalinity       0.239320405 -0.010590502  0.61208035 -0.06085941
## Magnesium       -0.141992042  0.299634003  0.13075693  0.35179658
## Phenols         -0.394660845  0.065039512  0.14617896 -0.19806835
## Flavanoids      -0.422934297 -0.003359812  0.15068190 -0.15229479
## Nonflavanoid     0.298533103  0.028779488  0.17036816  0.20330102
## Proanthocyanins -0.313429488  0.039301722  0.14945431 -0.39905653
## Colorintensity   0.088616705  0.529995672 -0.13730621 -0.06592568
## Hue             -0.296714564 -0.279235148  0.08522192  0.42777141
## OD280OD315      -0.376167411 -0.164496193  0.16600459 -0.18412074
## Proline         -0.286752227  0.364902832 -0.12674592  0.23207086

Kaiser

Com o parâmetro tol é definido o indice de corte para o parâmetro de Kaiser

res.pca <- prcomp(dadoswine, scale = TRUE, tol = 0.6)
res.pca
## Standard deviations (1, .., p=13):
##  [1] 2.1692972 1.5801816 1.2025273 0.9586313 0.9237035 0.8010350 0.7423128
##  [8] 0.5903367 0.5374755 0.5009017 0.4751722 0.4108165 0.3215244
## 
## Rotation (n x k) = (13 x 2):
##                          PC1          PC2
## Alcohol         -0.144329395  0.483651548
## MalicAcid        0.245187580  0.224930935
## Ash              0.002051061  0.316068814
## Alcalinity       0.239320405 -0.010590502
## Magnesium       -0.141992042  0.299634003
## Phenols         -0.394660845  0.065039512
## Flavanoids      -0.422934297 -0.003359812
## Nonflavanoid     0.298533103  0.028779488
## Proanthocyanins -0.313429488  0.039301722
## Colorintensity   0.088616705  0.529995672
## Hue             -0.296714564 -0.279235148
## OD280OD315      -0.376167411 -0.164496193
## Proline         -0.286752227  0.364902832

Combinação de modelos de corte

Por fim são aplicados os parâmetros rank. e tol para definir o número máximo de componentes prioncipais adotados

res.pca <- prcomp(dadoswine, scale = TRUE, rank. = 3, tol = 0.3)
res.pca
## Standard deviations (1, .., p=13):
##  [1] 2.1692972 1.5801816 1.2025273 0.9586313 0.9237035 0.8010350 0.7423128
##  [8] 0.5903367 0.5374755 0.5009017 0.4751722 0.4108165 0.3215244
## 
## Rotation (n x k) = (13 x 3):
##                          PC1          PC2         PC3
## Alcohol         -0.144329395  0.483651548 -0.20738262
## MalicAcid        0.245187580  0.224930935  0.08901289
## Ash              0.002051061  0.316068814  0.62622390
## Alcalinity       0.239320405 -0.010590502  0.61208035
## Magnesium       -0.141992042  0.299634003  0.13075693
## Phenols         -0.394660845  0.065039512  0.14617896
## Flavanoids      -0.422934297 -0.003359812  0.15068190
## Nonflavanoid     0.298533103  0.028779488  0.17036816
## Proanthocyanins -0.313429488  0.039301722  0.14945431
## Colorintensity   0.088616705  0.529995672 -0.13730621
## Hue             -0.296714564 -0.279235148  0.08522192
## OD280OD315      -0.376167411 -0.164496193  0.16600459
## Proline         -0.286752227  0.364902832 -0.12674592

Obtidos os componentes proncipais são obtidas as estatísticas dos mesmos

summary(res.pca)
## Importance of first k=3 (out of 13) components:
##                          PC1    PC2    PC3
## Standard deviation     2.169 1.5802 1.2025
## Proportion of Variance 0.362 0.1921 0.1112
## Cumulative Proportion  0.362 0.5541 0.6653

Variancia explicada

Demonstração do cálculo da variância explicada

eigs <- res.pca$sdev^2
eigs[1] / sum(eigs)
## [1] 0.3619885
rbind(
  SD = sqrt(eigs),
  "Explicação (%)" = (eigs/sum(eigs))*100,
  "Cumulativo (%)" = (cumsum(eigs)/sum(eigs))*100)
##                     [,1]      [,2]      [,3]       [,4]       [,5]      [,6]
## SD              2.169297  1.580182  1.202527  0.9586313  0.9237035  0.801035
## Explicação (%) 36.198848 19.207490 11.123631  7.0690302  6.5632937  4.935823
## Cumulativo (%) 36.198848 55.406338 66.529969 73.5989991 80.1622928 85.098116
##                      [,7]       [,8]       [,9]      [,10]      [,11]
## SD              0.7423128  0.5903367  0.5374755  0.5009017  0.4751722
## Explicação (%)  4.2386793  2.6807489  2.2221534  1.9300191  1.7368357
## Cumulativo (%) 89.3367954 92.0175443 94.2396978 96.1697168 97.9065525
##                     [,12]       [,13]
## SD              0.4108165   0.3215244
## Explicação (%)  1.2982326   0.7952149
## Cumulativo (%) 99.2047851 100.0000000

Resultados

Obtenção dos resultados iniciais dos PCAs

fviz_pca_ind(res.pca,
             col.ind = "cos2", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE     
             )

Variáveis

Obtenção da contribuição de cada variável em relação ao componente

fviz_pca_var(res.pca,
             col.var = "contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE     # Evite sobreposição de texto
             )

Variáveis

Obtenção da contribui~ção de cada variável na classificação das unidades de análise.

fviz_pca_biplot(res.pca, repel = TRUE,
                col.var = "#2E9FDF", # Cor das variáveis
                col.ind = "#696969"  # Cor dos vinhos
                )

Autovalores

Onbtenção dos autovalores.

# Autovalores
eig.val <- get_eigenvalue(res.pca)
eig.val
##        eigenvalue variance.percent cumulative.variance.percent
## Dim.1   4.7058503       36.1988481                    36.19885
## Dim.2   2.4969737       19.2074903                    55.40634
## Dim.3   1.4460720       11.1236305                    66.52997
## Dim.4   0.9189739        7.0690302                    73.59900
## Dim.5   0.8532282        6.5632937                    80.16229
## Dim.6   0.6416570        4.9358233                    85.09812
## Dim.7   0.5510283        4.2386793                    89.33680
## Dim.8   0.3484974        2.6807489                    92.01754
## Dim.9   0.2888799        2.2221534                    94.23970
## Dim.10  0.2509025        1.9300191                    96.16972
## Dim.11  0.2257886        1.7368357                    97.90655
## Dim.12  0.1687702        1.2982326                    99.20479
## Dim.13  0.1033779        0.7952149                   100.00000
# Resultados para variáveis
res.var <- get_pca_var(res.pca)
res.var$coord          # Coordenadas
##                        Dim.1        Dim.2      Dim.3        Dim.4        Dim.5
## Alcohol         -0.313093350  0.764257253 -0.2493833 -0.138358673  0.446750633
## MalicAcid        0.531884726  0.355431713  0.1070404  0.235044483  0.207769494
## Ash              0.004449362  0.499446109  0.7530514  0.001966212  0.291953874
## Alcalinity       0.519157081 -0.016734916  0.7360433  0.229420026 -0.009782484
## Magnesium       -0.308022936  0.473476124  0.1572388 -0.136118012  0.276772981
## Phenols         -0.856136658  0.102774237  0.1757842 -0.378334230  0.060077225
## Flavanoids      -0.917470177 -0.005309113  0.1811991 -0.405438045 -0.003103470
## Nonflavanoid     0.647607018  0.045476816  0.2048724  0.286183169  0.026583714
## Proanthocyanins -0.679921705  0.062103856  0.1797229 -0.300463310  0.036303139
## Colorintensity   0.192235968  0.837489383 -0.1651145  0.084950745  0.489558864
## Hue             -0.643662066 -0.441242229  0.1024817 -0.284439861 -0.257930487
## OD280OD315      -0.816018903 -0.259933849  0.1996251 -0.360605845 -0.151945711
## Proline         -0.622050797  0.576612723 -0.1524154 -0.274889653  0.337062027
##                       Dim.6        Dim.7        Dim.8       Dim.9      Dim.10
## Alcohol         -0.16612074 -0.107137559  0.285517236 -0.11146309 -0.07229484
## MalicAcid        0.07130243  0.182005882  0.132784975  0.04784225  0.12281487
## Ash              0.50162725  0.001522529  0.186587006  0.33658002  0.00102738
## Alcalinity       0.49029777  0.177650603 -0.006251962  0.32897821  0.11987599
## Magnesium        0.10474088 -0.105402512  0.176884934  0.07027865 -0.07112405
## Phenols          0.11709446 -0.292961802  0.038395208  0.07856762 -0.19768628
## Flavanoids       0.12070147 -0.313949547 -0.001983420  0.08098783 -0.21184850
## Nonflavanoid     0.13647086  0.221604947  0.016989587  0.09156872  0.14953573
## Proanthocyanins  0.11971813 -0.232662725  0.023201247  0.08032803 -0.15699735
## Colorintensity  -0.10998708  0.065781315  0.312875871 -0.07379873  0.04438826
## Hue              0.06826574 -0.220255022 -0.164842742  0.04580470 -0.14862482
## OD280OD315       0.13297548 -0.279233889 -0.097108132  0.08922340 -0.18842288
## Proline         -0.10152791 -0.212859852  0.215415516 -0.06812283 -0.14363467
##                       Dim.11      Dim.12        Dim.13
## Alcohol          0.229817780 -0.08519621 -0.0464054213
## MalicAcid        0.106880932  0.03656797  0.0788337881
## Ash              0.150187120  0.25726314  0.0006594663
## Alcalinity      -0.005032312  0.25145274  0.0769473483
## Magnesium        0.142377755  0.05371711 -0.0456539052
## Phenols          0.030904969  0.06005274 -0.1268930889
## Flavanoids      -0.001596489  0.06190262 -0.1359836933
## Nonflavanoid     0.013675213  0.06999006  0.0959856749
## Proanthocyanins  0.018675087  0.06139830 -0.1007752262
## Colorintensity   0.251839221 -0.05640766  0.0284924323
## Hue             -0.132684785  0.03501058 -0.0954009701
## OD280OD315      -0.078164021  0.06819743 -0.1209469986
## Proline          0.173391689 -0.05206932 -0.0921978359
res.var$contrib        # Contribuições para os PCs
##                        Dim.1        Dim.2      Dim.3        Dim.4        Dim.5
## Alcohol         2.083097e+00 23.391881971  4.3007553 2.083097e+00 23.391881971
## MalicAcid       6.011695e+00  5.059392535  0.7923294 6.011695e+00  5.059392535
## Ash             4.206853e-04  9.989949520 39.2156374 4.206853e-04  9.989949520
## Alcalinity      5.727426e+00  0.011215874 37.4642355 5.727426e+00  0.011215874
## Magnesium       2.016174e+00  8.978053590  1.7097376 2.016174e+00  8.978053590
## Phenols         1.557572e+01  0.423013810  2.1368289 1.557572e+01  0.423013810
## Flavanoids      1.788734e+01  0.001128834  2.2705035 1.788734e+01  0.001128834
## Nonflavanoid    8.912201e+00  0.082825894  2.9025311 8.912201e+00  0.082825894
## Proanthocyanins 9.823804e+00  0.154462537  2.2336591 9.823804e+00  0.154462537
## Colorintensity  7.852920e-01 28.089541241  1.8852996 7.852920e-01 28.089541241
## Hue             8.803953e+00  7.797226784  0.7262776 8.803953e+00  7.797226784
## OD280OD315      1.415019e+01  2.705899746  2.7557523 1.415019e+01  2.705899746
## Proline         8.222684e+00 13.315407665  1.6064528 8.222684e+00 13.315407665
##                      Dim.6        Dim.7        Dim.8      Dim.9       Dim.10
## Alcohol          4.3007553 2.083097e+00 23.391881971  4.3007553 2.083097e+00
## MalicAcid        0.7923294 6.011695e+00  5.059392535  0.7923294 6.011695e+00
## Ash             39.2156374 4.206853e-04  9.989949520 39.2156374 4.206853e-04
## Alcalinity      37.4642355 5.727426e+00  0.011215874 37.4642355 5.727426e+00
## Magnesium        1.7097376 2.016174e+00  8.978053590  1.7097376 2.016174e+00
## Phenols          2.1368289 1.557572e+01  0.423013810  2.1368289 1.557572e+01
## Flavanoids       2.2705035 1.788734e+01  0.001128834  2.2705035 1.788734e+01
## Nonflavanoid     2.9025311 8.912201e+00  0.082825894  2.9025311 8.912201e+00
## Proanthocyanins  2.2336591 9.823804e+00  0.154462537  2.2336591 9.823804e+00
## Colorintensity   1.8852996 7.852920e-01 28.089541241  1.8852996 7.852920e-01
## Hue              0.7262776 8.803953e+00  7.797226784  0.7262776 8.803953e+00
## OD280OD315       2.7557523 1.415019e+01  2.705899746  2.7557523 1.415019e+01
## Proline          1.6064528 8.222684e+00 13.315407665  1.6064528 8.222684e+00
##                       Dim.11     Dim.12       Dim.13
## Alcohol         23.391881971  4.3007553 2.083097e+00
## MalicAcid        5.059392535  0.7923294 6.011695e+00
## Ash              9.989949520 39.2156374 4.206853e-04
## Alcalinity       0.011215874 37.4642355 5.727426e+00
## Magnesium        8.978053590  1.7097376 2.016174e+00
## Phenols          0.423013810  2.1368289 1.557572e+01
## Flavanoids       0.001128834  2.2705035 1.788734e+01
## Nonflavanoid     0.082825894  2.9025311 8.912201e+00
## Proanthocyanins  0.154462537  2.2336591 9.823804e+00
## Colorintensity  28.089541241  1.8852996 7.852920e-01
## Hue              7.797226784  0.7262776 8.803953e+00
## OD280OD315       2.705899746  2.7557523 1.415019e+01
## Proline         13.315407665  1.6064528 8.222684e+00
res.var$cos2           # Qualidade de representação
##                        Dim.1        Dim.2      Dim.3        Dim.4        Dim.5
## Alcohol         9.802745e-02 5.840891e-01 0.06219202 1.914312e-02 1.995861e-01
## MalicAcid       2.829014e-01 1.263317e-01 0.01145765 5.524591e-02 4.316816e-02
## Ash             1.979682e-05 2.494464e-01 0.56708634 3.865988e-06 8.523706e-02
## Alcalinity      2.695241e-01 2.800574e-04 0.54175981 5.263355e-02 9.569700e-05
## Magnesium       9.487813e-02 2.241796e-01 0.02472404 1.852811e-02 7.660328e-02
## Phenols         7.329700e-01 1.056254e-02 0.03090008 1.431368e-01 3.609273e-03
## Flavanoids      8.417515e-01 2.818668e-05 0.03283311 1.643800e-01 9.631528e-06
## Nonflavanoid    4.193949e-01 2.068141e-03 0.04197269 8.190081e-02 7.066939e-04
## Proanthocyanins 4.622935e-01 3.856889e-03 0.03230032 9.027820e-02 1.317918e-03
## Colorintensity  3.695467e-02 7.013885e-01 0.02726279 7.216629e-03 2.396679e-01
## Hue             4.143009e-01 1.946947e-01 0.01050250 8.090603e-02 6.652814e-02
## OD280OD315      6.658869e-01 6.756561e-02 0.03985016 1.300366e-01 2.308750e-02
## Proline         3.869472e-01 3.324822e-01 0.02323046 7.556432e-02 1.136108e-01
##                       Dim.6        Dim.7        Dim.8       Dim.9       Dim.10
## Alcohol         0.027596099 1.147846e-02 8.152009e-02 0.012424019 5.226543e-03
## MalicAcid       0.005084037 3.312614e-02 1.763185e-02 0.002288881 1.508349e-02
## Ash             0.251629895 2.318095e-06 3.481471e-02 0.113286111 1.055510e-06
## Alcalinity      0.240391901 3.155974e-02 3.908702e-05 0.108226662 1.437025e-02
## Magnesium       0.010970652 1.110969e-02 3.128828e-02 0.004939089 5.058631e-03
## Phenols         0.013711113 8.582662e-02 1.474192e-03 0.006172870 3.907986e-02
## Flavanoids      0.014568845 9.856432e-02 3.933956e-06 0.006559029 4.487978e-02
## Nonflavanoid    0.018624295 4.910875e-02 2.886461e-04 0.008384830 2.236093e-02
## Proanthocyanins 0.014332430 5.413194e-02 5.382979e-04 0.006452593 2.464817e-02
## Colorintensity  0.012097157 4.327181e-03 9.789131e-02 0.005446252 1.970317e-03
## Hue             0.004660211 4.851227e-02 2.717313e-02 0.002098070 2.208934e-02
## OD280OD315      0.017682479 7.797156e-02 9.429989e-03 0.007960816 3.550318e-02
## Proline         0.010307917 4.530932e-02 4.640384e-02 0.004640720 2.063092e-02
##                       Dim.11      Dim.12       Dim.13
## Alcohol         5.281621e-02 0.007258395 2.153463e-03
## MalicAcid       1.142353e-02 0.001337216 6.214766e-03
## Ash             2.255617e-02 0.066184323 4.348958e-07
## Alcalinity      2.532417e-05 0.063228478 5.920894e-03
## Magnesium       2.027143e-02 0.002885528 2.084279e-03
## Phenols         9.551171e-04 0.003606331 1.610186e-02
## Flavanoids      2.548778e-06 0.003831934 1.849156e-02
## Nonflavanoid    1.870115e-04 0.004898609 9.213250e-03
## Proanthocyanins 3.487589e-04 0.003769752 1.015565e-02
## Colorintensity  6.342299e-02 0.003181825 8.118187e-04
## Hue             1.760525e-02 0.001225740 9.101345e-03
## OD280OD315      6.109614e-03 0.004650890 1.462818e-02
## Proline         3.006468e-02 0.002711214 8.500441e-03
# resultados para indivíduos
res.ind <- get_pca_ind(res.pca)
res.ind$coord          # Coordenadas
##             Dim.1       Dim.2        Dim.3
## R-1   -3.30742097  1.43940225 -0.165272830
## R-2   -2.20324981 -0.33245507 -2.020757060
## R-3   -2.50966069  1.02825072  0.980054055
## R-4   -3.74649719  2.74861839 -0.175696224
## R-5   -1.00607049  0.86738404  2.020987257
## R-6   -3.04167373  2.11643092 -0.627625371
## R-7   -2.44220051  1.17154534 -0.974346376
## R-8   -2.05364379  1.60443714  0.145870400
## R-9   -2.50381135  0.91548847 -1.765987389
## R-10  -2.74588238  0.78721703 -0.981478855
## R-11  -3.46994837  1.29866985 -0.421546086
## R-12  -1.74981688  0.61025577 -1.187528444
## R-13  -2.10751729  0.67380561 -0.862652985
## R-14  -3.44842921  1.12744948 -1.200888789
## R-15  -4.30065228  2.09007971 -1.260357435
## R-16  -2.29870383  1.65787506  0.217289668
## R-17  -2.16584568  2.32075875  0.829390256
## R-18  -1.89362947  1.62677993  0.792677744
## R-19  -3.53202167  2.51125971 -0.484092940
## R-20  -2.07865856  1.05815307 -0.164283255
## R-21  -3.11561376  0.78468361 -0.363860676
## R-22  -1.08351361  0.24106354  0.934325978
## R-23  -2.52809263 -0.09158228 -0.311055210
## R-24  -1.64036108 -0.51482667  0.143480354
## R-25  -1.75662066 -0.31625681  0.887781323
## R-26  -0.98729406  0.93802129  3.810160004
## R-27  -1.77028387  0.68424496 -0.086456523
## R-28  -1.23194878 -0.08955442 -1.382995281
## R-29  -2.18225047  0.68762990  1.390644041
## R-30  -2.24976267  0.19092336 -1.089583673
## R-31  -2.49318704  1.23734344  1.382119063
## R-32  -2.66987964  1.46773335 -0.331327094
## R-33  -1.62399801  0.05255620 -0.166658582
## R-34  -1.89733870  1.62846673  1.168785117
## R-35  -1.40642118  0.69597107  0.478393534
## R-36  -1.89847087  0.17621387  0.449566866
## R-37  -1.38096669  0.65678714  0.457149018
## R-38  -1.11905070  0.11378878 -0.038997270
## R-39  -1.49796891 -0.76726764 -1.422165587
## R-40  -2.52268490  1.79793023 -0.342187120
## R-41  -2.58081526  0.77742329 -0.118144196
## R-42  -0.66660159  0.16948285 -0.781158992
## R-43  -3.06216898  1.15266742 -0.311878313
## R-44  -0.46090897  0.32981177 -0.200909754
## R-45  -2.09544094 -0.07080918 -0.654004547
## R-46  -1.13297020  1.77210849  0.028624988
## R-47  -2.71893118  1.18798353 -0.538254909
## R-48  -2.81340300  0.64444071 -1.152301905
## R-49  -2.00419725  1.24352164 -0.057132823
## R-50  -2.69987528  1.74703922 -0.641304569
## R-51  -3.20587409  0.16652226 -1.968020131
## R-52  -2.85091773  0.74318238  0.004706226
## R-53  -3.49574328  1.60819732 -0.519309620
## R-54  -2.21853316  1.86989325  0.338594715
## R-55  -2.14094846  1.01389147 -0.955068628
## R-56  -2.46238340  1.32526988  0.511993182
## R-57  -2.73380617  1.43250785 -0.610750542
## R-58  -2.16762631  1.20878999  0.261043221
## R-59  -3.13054925  1.72670828 -0.284857863
## B-60   0.92596992 -3.06484062 -4.572166474
## B-61   1.53814123 -1.37755758 -0.872222677
## B-62   1.83108449 -0.82764942 -1.601185434
## B-63  -0.03052074 -1.25923400 -1.779388569
## B-64  -2.04449433 -1.91961759 -0.007348049
## B-65   0.60796583 -1.90269154  0.677446941
## B-66  -0.89769555 -0.76176263  0.571748468
## B-67  -2.24218226 -1.87929123 -2.026124738
## B-68  -0.18286818 -2.42031869 -1.066736425
## B-69   0.81051865 -0.21989369 -0.705016628
## B-70  -1.97006319 -1.39933587 -1.234793017
## B-71   1.56779366 -0.88249373 -0.627228614
## B-72  -1.65301884 -0.95402102  1.947091704
## B-73   0.72333196 -1.06065342  0.080106258
## B-74  -2.55501977  0.25946663  3.364901977
## B-75  -1.82741266 -1.28425547  0.456990911
## B-76   0.86555129 -2.43722606 -1.558935609
## B-77  -0.36897357 -2.14784815 -2.442496359
## B-78   1.45327752 -1.37946048 -0.226667500
## B-79  -1.25937829 -0.76868117 -1.180893359
## B-80  -0.37509228 -1.02415439  1.789418559
## B-81  -0.75992026 -3.36555997 -0.356464512
## B-82  -1.03166776 -1.44662897 -0.361990641
## B-83   0.49348469 -2.37454522  1.331985804
## B-84   2.53183508 -0.08719738  0.472917350
## B-85  -0.83297044 -1.46952520  0.608377416
## B-86  -0.78568828 -2.02092573 -0.254006881
## B-87   0.80456258 -2.22754675  0.770681796
## B-88   0.55647288 -2.36631035  2.301120220
## B-89   1.11197430 -1.79717757  0.956554981
## B-90   0.55415961 -2.65006452  0.846738350
## B-91   1.34548982 -2.11204365 -0.047518277
## B-92   1.56008180 -1.84700434  0.778869932
## B-93   1.92711944 -1.55510868 -0.089023551
## B-94  -0.74456561 -2.30642556  0.114357181
## B-95  -0.95476209 -2.21727377  0.142044084
## B-96  -2.53670943  0.16879786  0.786478429
## B-97   0.54242248 -0.36788878  1.305214079
## B-98  -1.02814946 -2.55835254 -1.083334218
## B-99  -2.24557492 -1.42871116 -0.229560681
## B-100 -1.40624916 -2.16009839  0.746789806
## B-101 -0.79547585 -2.37026258 -1.563701517
## B-102  0.54798592 -2.28667820 -1.494718900
## B-103  0.16072037 -1.16120769  1.000889713
## B-104  0.65793897 -2.67242260 -0.762769188
## B-105 -0.39125074 -2.09282809 -0.470522719
## B-106  1.76751314 -1.71245783  0.944369222
## B-107  0.36523707 -2.16325103 -0.479970296
## B-108  1.61611371 -1.35177021  0.286351238
## B-109 -0.08230361 -2.29974728 -0.462270978
## B-110 -1.57383547 -1.45792167  1.774639908
## B-111 -1.41657326 -1.41421730  0.138884054
## B-112  0.27791878 -1.92513751  0.078449257
## B-113  1.29947929 -0.76102555  1.993971755
## B-114  0.45578615 -2.26303187  1.058353479
## B-115  0.49279573 -1.93359062  1.320213907
## B-116 -0.48071836 -3.86089273  1.340489862
## B-117  0.25217752 -2.81355567 -0.301788475
## B-118  0.10692601 -1.92349609  0.688206893
## B-119  2.42616867 -1.25360477 -1.897674293
## B-120  0.54953935 -2.21591073 -0.355226778
## B-121 -0.73754141 -1.40499335  1.122179957
## B-122 -1.33256273  0.25262431  5.330351896
## B-123  1.17377592 -0.66209914  3.001754299
## B-124  0.46103449 -0.61654897  0.482082470
## B-125 -0.97572169 -1.44150419  1.477070337
## B-126  0.09653741 -2.10406268  0.433602974
## B-127 -0.03837888 -1.26319878  0.685643794
## B-128  1.59266578 -1.20474513  3.351720753
## B-129  0.47821593 -1.93338681  1.292860514
## B-130  1.78779033 -1.14705241  0.780598199
## T-131  1.32336859  0.16990994 -1.176694043
## T-132  2.37779336  0.37352893 -0.721786522
## T-133  2.92867865  0.26311960 -0.167168254
## T-134  2.14077227  0.36721907 -0.452026190
## T-135  2.36320318 -0.45834188 -1.098301611
## T-136  3.05522315  0.35241870 -1.096032328
## T-137  3.90473898  0.15414769  0.221203810
## T-138  3.92539034  0.65783157  1.707399051
## T-139  3.08557209  0.34786148 -1.023942993
## T-140  2.36779237  0.29115903  1.238420896
## T-141  2.77099630  0.28599811  0.607955155
## T-142  2.28012931  0.37146000 -0.968909854
## T-143  2.97723506  0.48784177  0.944289205
## T-144  2.36851341  0.48097694 -0.252172645
## T-145  2.20364930  1.15678934 -1.241622757
## T-146  2.61823528  0.56157662 -0.853553310
## T-147  4.26859758  0.64784348 -1.454095134
## T-148  3.57256360  1.26912271 -0.110472408
## T-149  2.79916760  1.56611596 -0.471198739
## T-150  2.89150275  2.03531563 -0.494564703
## T-151  2.31420887  2.34973775  0.436450569
## T-152  2.54265841  2.03952982 -0.311389606
## T-153  1.80744271  1.52334876  1.358756891
## T-154  2.75238051  2.13291565 -0.961915241
## T-155  2.72945105  0.40873328 -1.187056141
## T-156  3.59472857  1.79731421 -0.093772341
## T-157  2.88169708  1.91980308 -0.780121925
## T-158  3.38261413  1.30818615  1.597519558
## T-159  1.04523342  3.50520194  1.156775441
## T-160  1.60538369  2.39986842  0.547016629
## T-161  3.13428951  0.73608464 -0.090742750
## T-162  2.23385546  1.17215877 -0.101091765
## T-163  2.83966343  0.55447984  0.801953005
## T-164  2.59019044  0.69600220 -0.882450235
## T-165  2.94100316  1.55093397 -0.980634475
## T-166  3.52010248  0.88004430 -0.464718213
## T-167  2.39934228  2.58506402  0.427021634
## T-168  2.92084537  1.27086200 -1.209945161
## T-169  2.17527658  2.07169331  0.761634073
## T-170  2.37423037  2.58138565  1.414055150
## T-171  3.20258311 -0.25054235 -0.844746224
## T-172  3.66757294  0.84536318 -1.335652516
## T-173  2.45862032  2.18762727 -0.916196480
## T-174  3.36104305  2.21005484 -0.341605883
## T-175  2.59463669  1.75228636  0.206997440
## T-176  2.67030685  2.75313287 -0.938295059
## T-177  2.38030254  2.29088437 -0.549147119
## T-178  3.19973210  2.76113075  1.011061581
res.ind$contrib        # contribuições para os PCs
##              Dim.1       Dim.2        Dim.3
## R-1   1.3059328513 0.466155036 1.061190e-02
## R-2   0.5795212676 0.024867490 1.586420e+00
## R-3   0.7519204777 0.237883364 3.731558e-01
## R-4   1.6756862924 1.699788630 1.199264e-02
## R-5   0.1208366607 0.169273460 1.586782e+00
## R-6   1.1045036289 1.007799684 1.530351e-01
## R-7   0.7120402294 0.308804932 3.688220e-01
## R-8   0.5034914806 0.579177176 8.266553e-03
## R-9   0.7484195107 0.188569646 1.211617e+00
## R-10  0.9001310769 0.139429601 3.742415e-01
## R-11  1.4374340275 0.379457846 6.903673e-02
## R-12  0.3655334259 0.083789541 5.478708e-01
## R-13  0.5302542837 0.102149272 2.891095e-01
## R-14  1.4196605880 0.285996160 5.602678e-01
## R-15  2.2080583968 0.982860140 6.171313e-01
## R-16  0.6308236029 0.618400201 1.834291e-02
## R-17  0.5600114595 1.211786245 2.672440e-01
## R-18  0.4280868667 0.595420296 2.441088e-01
## R-19  1.4893220312 1.418891806 9.104322e-02
## R-20  0.5158319163 0.251920214 1.048520e-02
## R-21  1.1588550606 0.138533620 5.143519e-02
## R-22  0.1401556576 0.013074620 3.391462e-01
## R-23  0.7630058381 0.001887074 3.758937e-02
## R-24  0.3212334834 0.059633197 7.997882e-03
## R-25  0.3683815451 0.022503279 3.061978e-01
## R-26  0.1163683686 0.197966369 5.639966e+00
## R-27  0.3741344667 0.105339012 2.903927e-03
## R-28  0.1811870697 0.001804430 7.430730e-01
## R-29  0.5685269873 0.106383807 7.513150e-01
## R-30  0.6042481193 0.008201328 4.612233e-01
## R-31  0.7420815214 0.344466143 7.421317e-01
## R-32  0.8509915752 0.484685856 4.264852e-02
## R-33  0.3148566581 0.000621461 1.079060e-02
## R-34  0.4297655737 0.596655711 5.307126e-01
## R-35  0.2361417032 0.108980401 8.891206e-02
## R-36  0.4302786245 0.006986284 7.851971e-02
## R-37  0.2276713067 0.097054416 8.119059e-02
## R-38  0.1495000793 0.002913164 5.908245e-04
## R-39  0.2678844434 0.132452385 7.857609e-01
## R-40  0.7597451041 0.727296828 4.549015e-02
## R-41  0.7951622043 0.135981903 5.422691e-03
## R-42  0.0530486805 0.006462753 2.370658e-01
## R-43  1.1194383982 0.298933137 3.778857e-02
## R-44  0.0253613409 0.024473627 1.568166e-02
## R-45  0.5241948444 0.001128094 1.661696e-01
## R-46  0.1532423742 0.706556075 3.183323e-04
## R-47  0.8825479821 0.317531537 1.125553e-01
## R-48  0.9449433814 0.093439812 5.158491e-01
## R-49  0.4795377692 0.347914649 1.268123e-03
## R-50  0.8702204792 0.686706776 1.597787e-01
## R-51  1.2269724664 0.006238937 1.504697e+00
## R-52  0.9703116912 0.124267290 8.604700e-06
## R-53  1.4588846617 0.581895092 1.047714e-01
## R-54  0.5875891193 0.786682798 4.454002e-02
## R-55  0.5472103730 0.231285797 3.543719e-01
## R-56  0.7238577731 0.395161551 1.018400e-01
## R-57  0.8922310541 0.461700182 1.449165e-01
## R-58  0.5609326516 0.328751492 2.647372e-02
## R-59  1.1699922230 0.670816855 3.152438e-02
## B-60  0.1023612666 2.113400532 8.121461e+00
## B-61  0.2824452786 0.426958386 2.955594e-01
## B-62  0.4002751826 0.154119949 9.960321e-01
## B-63  0.0001112070 0.356762258 1.230075e+00
## B-64  0.4990151343 0.829078145 2.097656e-05
## B-65  0.0441265765 0.814521961 1.782956e-01
## B-66  0.0962055300 0.130558561 1.269989e-01
## B-67  0.6001830417 0.794610314 1.594860e+00
## B-68  0.0039922540 1.317987014 4.420835e-01
## B-69  0.0784274186 0.010879065 1.931029e-01
## B-70  0.4633425729 0.440564962 5.923500e-01
## B-71  0.2934402630 0.175222260 1.528417e-01
## B-72  0.3262101739 0.204777346 1.472865e+00
## B-73  0.0624621887 0.253112166 2.493004e-03
## B-74  0.7793462032 0.015147084 4.398807e+00
## B-75  0.3986714652 0.371081130 8.113443e-02
## B-76  0.0894391179 1.336465189 9.441618e-01
## B-77  0.0162529583 1.037942209 2.317704e+00
## B-78  0.2521384089 0.428138761 1.996037e-02
## B-79  0.1893452011 0.132940869 5.417656e-01
## B-80  0.0167964751 0.235991784 1.243982e+00
## B-81  0.0689410576 2.548476837 4.936540e-02
## B-82  0.1270637326 0.470847578 5.090785e-02
## B-83  0.0290729613 1.268606443 6.892699e-01
## B-84  0.7652665328 0.001710696 8.688816e-02
## B-85  0.0828325573 0.485870015 1.437925e-01
## B-86  0.0736957507 0.918896785 2.506577e-02
## B-87  0.0772790110 1.116399615 2.307492e-01
## B-88  0.0369683361 1.259822704 2.057163e+00
## B-89  0.1476153060 0.726688024 3.554757e-01
## B-90  0.0366616187 1.580079431 2.785406e-01
## B-91  0.2161238648 1.003625765 8.772259e-04
## B-92  0.2905605416 0.767541484 2.356785e-01
## B-93  0.4433627052 0.544111012 3.078931e-03
## B-94  0.0661832123 1.196864286 5.080623e-03
## B-95  0.1088258910 1.106126159 7.838562e-03
## B-96  0.7682159884 0.006410618 2.403055e-01
## B-97  0.0351250745 0.030450828 6.618409e-01
## B-98  0.1261985606 1.472606810 4.559477e-01
## B-99  0.6020006978 0.459256061 2.047317e-02
## B-100 0.2360839395 1.049815766 2.166640e-01
## B-101 0.0755432898 1.264034545 9.499436e-01
## B-102 0.0358493017 1.176457184 8.679788e-01
## B-103 0.0030837824 0.303379222 3.891908e-01
## B-104 0.0516788835 1.606853549 2.260354e-01
## B-105 0.0182747831 0.985446692 8.601046e-02
## B-106 0.3729642409 0.659790101 3.464765e-01
## B-107 0.0159254454 1.052882387 8.949913e-02
## B-108 0.3118069014 0.411122991 3.185578e-02
## B-109 0.0008086856 1.189943251 8.302012e-02
## B-110 0.2957062830 0.478227345 1.223519e+00
## B-111 0.2395631287 0.449985288 7.493675e-03
## B-112 0.0092209927 0.833853074 2.390935e-03
## B-113 0.2015954009 0.130306026 1.544643e+00
## B-114 0.0248007114 1.152251713 4.351626e-01
## B-115 0.0289918391 0.841191908 6.771404e-01
## B-116 0.0275881968 3.353833477 6.980992e-01
## B-117 0.0075919723 1.781053846 3.538306e-02
## B-118 0.0013649245 0.832431757 1.840044e-01
## B-119 0.7027225266 0.353579679 1.399051e+00
## B-120 0.0360528410 1.104766625 4.902318e-02
## B-121 0.0649403636 0.444134552 4.892323e-01
## B-122 0.2119909016 0.014358739 1.103829e+01
## B-123 0.1644796914 0.098630689 3.500583e+00
## B-124 0.0253751558 0.085526594 9.028857e-02
## B-125 0.1136563773 0.467517467 8.476029e-01
## B-126 0.0011125849 0.996055120 7.304233e-02
## B-127 0.0001758436 0.359012373 1.826363e-01
## B-128 0.3028246287 0.326555035 4.364412e+00
## B-129 0.0273017173 0.841014582 6.493718e-01
## B-130 0.3815707386 0.296027832 2.367256e-01
## T-131 0.2090756910 0.006495365 5.379194e-01
## T-132 0.6749787745 0.031391676 2.023987e-01
## T-133 1.0239655302 0.015576591 1.085670e-02
## T-134 0.5471203096 0.030340063 7.938113e-02
## T-135 0.6667208206 0.047265593 4.686335e-01
## T-136 1.1143657790 0.027943701 4.666989e-01
## T-137 1.8202285045 0.005346137 1.900970e-02
## T-138 1.8395330383 0.097363336 1.132557e+00
## T-139 1.1366147543 0.027225679 4.073255e-01
## T-140 0.6693127959 0.019073331 5.958359e-01
## T-141 0.9166716205 0.018403157 1.435930e-01
## T-142 0.6206701372 0.031044891 3.647177e-01
## T-143 1.0582009450 0.053545624 3.464178e-01
## T-144 0.6697204940 0.052049257 2.470507e-02
## T-145 0.5797314382 0.301074920 5.989208e-01
## T-146 0.8183879659 0.070955174 2.830423e-01
## T-147 2.1752657485 0.094429176 8.214398e-01
## T-148 1.5237082961 0.362387537 4.741303e-03
## T-149 0.9354050300 0.551840862 8.625779e-02
## T-150 0.9981346081 0.932029284 9.502466e-02
## T-151 0.6393622676 1.242238003 7.400486e-02
## T-152 0.7718233875 0.935892881 3.767023e-02
## T-153 0.3900057171 0.522113246 7.172550e-01
## T-154 0.9043964339 1.023560187 3.594709e-01
## T-155 0.8893905560 0.037587724 5.474351e-01
## T-156 1.5426737909 0.726798529 3.416171e-03
## T-157 0.9913763309 0.829238374 2.364368e-01
## T-158 1.3659877711 0.385039353 9.914766e-01
## T-159 0.1304272892 2.764344149 5.198622e-01
## T-160 0.3076802263 1.295808681 1.162495e-01
## T-161 1.1727896197 0.121905004 3.198998e-03
## T-162 0.5957335125 0.309128400 3.970285e-03
## T-163 0.9626659932 0.069173150 2.498549e-01
## T-164 0.8009497807 0.108990149 3.025315e-01
## T-165 1.0326017948 0.541193583 3.735979e-01
## T-166 1.4792872318 0.174250924 8.390145e-02
## T-167 0.6872682955 1.503517993 7.084184e-02
## T-168 1.0184952952 0.363381498 5.687501e-01
## T-169 0.5648990761 0.965643792 2.253631e-01
## T-170 0.6729574506 1.499242234 7.768243e-01
## T-171 1.2244546728 0.014123045 2.772315e-01
## T-172 1.6058294319 0.160787646 6.930699e-01
## T-173 0.7216470316 1.076744546 3.261124e-01
## T-174 1.3486213908 1.098935301 4.533575e-02
## T-175 0.8037019191 0.690837948 1.664639e-02
## T-176 0.8512639319 1.705376869 3.420337e-01
## T-177 0.6764040757 1.180789172 1.171568e-01
## T-178 1.2222755713 1.715299528 3.971415e-01
res.ind$cos2           # Qualidade de representação
##              Dim.1       Dim.2        Dim.3
## R-1   0.8389969832 0.158908015 2.095002e-03
## R-2   0.5364888774 0.012215160 4.512960e-01
## R-3   0.7573645483 0.127137305 1.154981e-01
## R-4   0.6491643921 0.349407935 1.427673e-03
## R-5   0.1730537291 0.128631398 6.983149e-01
## R-6   0.6549944832 0.317117774 2.788774e-02
## R-7   0.7197912444 0.165638819 1.145699e-01
## R-8   0.6190347941 0.377842010 3.123196e-03
## R-9   0.6130580307 0.081960414 3.049816e-01
## R-10  0.8264790130 0.067929267 1.055917e-01
## R-11  0.8659278580 0.121292291 1.277985e-02
## R-12  0.6320285386 0.076873256 2.910982e-01
## R-13  0.7875489637 0.080501602 1.319494e-01
## R-14  0.8142220263 0.087035092 9.874288e-02
## R-15  0.7563879638 0.178649435 6.496260e-02
## R-16  0.6539811385 0.340175304 5.843558e-03
## R-17  0.4357658706 0.500331894 6.390224e-02
## R-18  0.5226716612 0.385741668 9.158667e-02
## R-19  0.6560375976 0.331638748 1.232365e-02
## R-20  0.7902739345 0.204789806 4.936259e-03
## R-21  0.9284447018 0.058892227 1.266307e-02
## R-22  0.5576997683 0.027605447 4.146948e-01
## R-23  0.9838152303 0.001291072 1.489370e-02
## R-24  0.9040345986 0.089048828 6.916574e-03
## R-25  0.7764975861 0.025168881 1.983335e-01
## R-26  0.0595377706 0.053743372 8.867189e-01
## R-27  0.8682209288 0.129708263 2.070809e-03
## R-28  0.4413973263 0.002332483 5.562702e-01
## R-29  0.6642844303 0.065956012 2.697596e-01
## R-30  0.8053095562 0.005799728 1.888907e-01
## R-31  0.6436593616 0.158535631 1.978050e-01
## R-32  0.7589488643 0.229363059 1.168808e-02
## R-33  0.9885538592 0.001035326 1.041081e-02
## R-34  0.4725599725 0.348116799 1.793232e-01
## R-35  0.7349802704 0.179981250 8.503848e-02
## R-36  0.9392389300 0.008091861 5.266921e-02
## R-37  0.7486265825 0.169335539 8.203788e-02
## R-38  0.9885780534 0.010221398 1.200549e-03
## R-39  0.4621698032 0.121252228 4.165780e-01
## R-40  0.6551586877 0.332786851 1.205446e-02
## R-41  0.9150502733 0.083032136 1.917591e-03
## R-42  0.4101921648 0.026515889 5.632919e-01
## R-43  0.8680053598 0.122990662 9.003979e-03
## R-44  0.5875282935 0.300836672 1.116350e-01
## R-45  0.9102879359 0.001039458 8.867261e-02
## R-46  0.2900964490 0.709718370 1.851808e-04
## R-47  0.8129430205 0.155197427 3.185955e-02
## R-48  0.8195234879 0.042999504 1.374770e-01
## R-49  0.7216144133 0.277799184 5.864023e-04
## R-50  0.6779038404 0.283848104 3.824806e-02
## R-51  0.7248761525 0.001955760 2.731681e-01
## R-52  0.9363666501 0.063630798 2.551657e-06
## R-53  0.8105636238 0.171548418 1.788796e-02
## R-54  0.5768039739 0.409760436 1.343559e-02
## R-55  0.7026067198 0.157573366 1.398199e-01
## R-56  0.7502443804 0.217320182 3.243544e-02
## R-57  0.7550109983 0.207305994 3.768301e-02
## R-58  0.7544418278 0.234616549 1.094162e-02
## R-59  0.7619012274 0.231790448 6.308324e-03
## B-60  0.0275207826 0.301496873 6.709823e-01
## B-61  0.4708857008 0.377696188 1.514181e-01
## B-62  0.5078822540 0.103762183 3.883556e-01
## B-63  0.0001959919 0.333626865 6.661771e-01
## B-64  0.5314669411 0.468526194 6.865127e-06
## B-65  0.0830837802 0.813756897 1.031593e-01
## B-66  0.4704263866 0.338744975 1.908286e-01
## B-67  0.3969727490 0.278873369 3.241539e-01
## B-68  0.0047573333 0.833359550 1.618831e-01
## B-69  0.5463839682 0.040215870 4.134002e-01
## B-70  0.5270433258 0.265907103 2.070496e-01
## B-71  0.6770935961 0.214533023 1.083734e-01
## B-72  0.3675742794 0.122434946 5.099908e-01
## B-73  0.3162126078 0.679909134 3.878259e-03
## B-74  0.3643331187 0.003757276 6.319096e-01
## B-75  0.6424972224 0.317322483 4.018030e-02
## B-76  0.0821510558 0.651357119 2.664918e-01
## B-77  0.0127054774 0.430534156 5.567604e-01
## B-78  0.5193942905 0.467970613 1.263510e-02
## B-79  0.4440912996 0.165444504 3.904642e-01
## B-80  0.0320370828 0.238840278 7.291226e-01
## B-81  0.0479970825 0.941441763 1.056115e-02
## B-82  0.3236929564 0.636455218 3.985183e-02
## B-83  0.0318079247 0.736459466 2.317326e-01
## B-84  0.9651801272 0.001144839 3.367503e-02
## B-85  0.2152464159 0.669932162 1.148214e-01
## B-86  0.1295237999 0.856938653 1.353755e-02
## B-87  0.1043521411 0.799899375 9.574848e-02
## B-88  0.0276379335 0.499759392 4.726027e-01
## B-89  0.2297734007 0.600194808 1.700318e-01
## B-90  0.0381628764 0.872738741 8.909838e-02
## B-91  0.2885776895 0.711062376 3.599344e-04
## B-92  0.3772296835 0.528745825 9.402449e-02
## B-93  0.6048440444 0.393865224 1.290732e-03
## B-94  0.0941689875 0.903609602 2.221411e-03
## B-95  0.1558759984 0.840673873 3.450128e-03
## B-96  0.9086350033 0.004023295 8.734170e-02
## B-97  0.1379286080 0.063447143 7.986242e-01
## B-98  0.1204542763 0.745813940 1.337318e-01
## B-99  0.7065917906 0.286023924 7.384286e-03
## B-100 0.2746099400 0.647945937 7.744412e-02
## B-101 0.0727662554 0.646054188 2.811796e-01
## B-102 0.0386801814 0.673534425 2.877854e-01
## B-103 0.0108715817 0.567506332 4.216221e-01
## B-104 0.0530719558 0.875596743 7.133130e-02
## B-105 0.0321969538 0.921237399 4.656565e-02
## B-106 0.4496115971 0.422038408 1.283500e-01
## B-107 0.0264499077 0.927872501 4.567759e-02
## B-108 0.5776960581 0.404167433 1.813651e-02
## B-109 0.0012295351 0.959982555 3.878791e-02
## B-110 0.3195316122 0.274197540 4.062708e-01
## B-111 0.4984327367 0.496776185 4.791078e-03
## B-112 0.0203820763 0.977993908 1.624016e-03
## B-113 0.2704547625 0.092758643 6.367866e-01
## B-114 0.0322120724 0.794104690 1.736832e-01
## B-115 0.0424218746 0.653108066 3.044701e-01
## B-116 0.0136461188 0.880244253 1.061096e-01
## B-117 0.0078794881 0.980835797 1.128471e-02
## B-118 0.0027320066 0.884092331 1.131757e-01
## B-119 0.5322634331 0.142103876 3.256327e-01
## B-120 0.0565696169 0.919793129 2.363725e-02
## B-121 0.1440110342 0.522602502 3.333865e-01
## B-122 0.0586973444 0.002109567 9.391931e-01
## B-123 0.1272553731 0.040490374 8.322543e-01
## B-124 0.2576119827 0.460717160 2.816709e-01
## B-125 0.1826720826 0.398705368 4.186225e-01
## B-126 0.0020152774 0.957328400 4.065632e-02
## B-127 0.0007125107 0.771880513 2.274070e-01
## B-128 0.1666390600 0.095349379 7.380116e-01
## B-129 0.0405611648 0.662979117 2.964597e-01
## B-130 0.6241034656 0.256915287 1.189812e-01
## T-131 0.5533727285 0.009122075 4.375052e-01
## T-132 0.8953978931 0.022096135 8.250597e-02
## T-133 0.9887971653 0.007981236 3.221598e-03
## T-134 0.9310906598 0.027396904 4.151244e-02
## T-135 0.7976961934 0.030006441 1.722974e-01
## T-136 0.8756565256 0.011651070 1.126924e-01
## T-137 0.9952549505 0.001551045 3.194005e-03
## T-138 0.8215057000 0.023071419 1.554229e-01
## T-139 0.8906040616 0.011319467 9.807647e-02
## T-140 0.7759886282 0.011733529 2.122778e-01
## T-141 0.9444755091 0.010061092 4.546340e-02
## T-142 0.8284241127 0.021986590 1.495893e-01
## T-143 0.8869604892 0.023814199 8.922531e-02
## T-144 0.9500524019 0.039178191 1.076941e-02
## T-145 0.6277351101 0.172981643 1.992832e-01
## T-146 0.8678425987 0.039924701 9.223270e-02
## T-147 0.8779045293 0.020221671 1.018738e-01
## T-148 0.8871912447 0.111960425 8.483302e-04
## T-149 0.7455066237 0.233368122 2.112525e-02
## T-150 0.6558565204 0.324956445 1.918703e-02
## T-151 0.4839078519 0.498880293 1.721186e-02
## T-152 0.6029899477 0.387966433 9.043619e-03
## T-153 0.4394670660 0.312173435 2.483595e-01
## T-154 0.5804963519 0.348602028 7.090162e-02
## T-155 0.8253763272 0.018508934 1.561147e-01
## T-156 0.7995736334 0.199882270 5.440963e-04
## T-157 0.6591448159 0.292548285 4.830690e-02
## T-158 0.7285396666 0.108965090 1.624952e-01
## T-159 0.0742343373 0.834842113 9.092355e-02
## T-160 0.2984368728 0.666913717 3.464941e-02
## T-161 0.9469766639 0.052229584 7.937522e-04
## T-162 0.7828500731 0.215546681 1.603245e-03
## T-163 0.8945475276 0.034106819 7.134565e-02
## T-164 0.8415577036 0.060763353 9.767894e-02
## T-165 0.7197995244 0.200173779 8.002670e-02
## T-166 0.9259846534 0.057876497 1.613885e-02
## T-167 0.4561051224 0.529447791 1.444709e-02
## T-168 0.7348016619 0.139107256 1.260911e-01
## T-169 0.4927023145 0.446896097 6.040159e-02
## T-170 0.3941916636 0.465980248 1.398281e-01
## T-171 0.9296316276 0.005689477 6.467889e-02
## T-172 0.8433445841 0.044805796 1.118496e-01
## T-173 0.5179814436 0.410088814 7.192974e-02
## T-174 0.6931436254 0.299696165 7.160210e-03
## T-175 0.6837786792 0.311869286 4.352035e-03
## T-176 0.4573591448 0.486171362 5.646949e-02
## T-177 0.5051770267 0.467935085 2.688789e-02
## T-178 0.5421564677 0.403711713 5.413182e-02
# Dados para as vinhos suplementares
ind.sup <- dadoswine[24:27, 1:13]
ind.sup[, 1:6]
##      Alcohol MalicAcid  Ash Alcalinity Magnesium Phenols
## R-24   12.85      1.60 2.52       17.8        95    2.48
## R-25   13.50      1.81 2.61       20.0        96    2.53
## R-26   13.05      2.05 3.22       25.0       124    2.63
## R-27   13.39      1.77 2.62       16.1        93    2.85
ind.sup.coord <- predict(res.pca, newdata = ind.sup)
ind.sup.coord[, 1:ncol(ind.sup.coord)]
##             PC1        PC2         PC3
## R-24 -1.6403611 -0.5148267  0.14348035
## R-25 -1.7566207 -0.3162568  0.88778132
## R-26 -0.9872941  0.9380213  3.81016000
## R-27 -1.7702839  0.6842450 -0.08645652
# Amostra atual
p <- fviz_pca_ind(res.pca, repel = TRUE)
# Amostra suplementar
fviz_add(p, ind.sup.coord, color ="blue")

# Centralizando e dimensionando os vinhos suplementares

ind.scaled <- scale(ind.sup, 
                    center = res.pca$center,
                    scale = res.pca$scale)
# Coordenadas dos vinhos
coord_func <- function(ind, loadings){
  r <- loadings*ind
  apply(r, 2, sum)
}
pca.loadings <- res.pca$rotation
ind.sup.coord <- t(apply(ind.scaled, 1, coord_func, pca.loadings ))
ind.sup.coord[, 1:ncol(ind.sup.coord)]
##             PC1        PC2         PC3
## R-24 -1.6403611 -0.5148267  0.14348035
## R-25 -1.7566207 -0.3162568  0.88778132
## R-26 -0.9872941  0.9380213  3.81016000
## R-27 -1.7702839  0.6842450 -0.08645652
groups <- as.factor(base$Classe[1:linhas])
fviz_pca_ind(res.pca,
             col.ind = groups, # color by groups
             palette = c("#00AFBB", "#E7B800", "#FC4E07"),
             addEllipses = TRUE, # Concentration ellipses
             ellipse.type = "confidence",
             legend.title = "Groups",
             repel = TRUE
             )

library(ggpubr)
library(ggplot2)
library(ggfortify)
ggplot2::autoplot(res.pca, data=base, colour="Classe", frame=TRUE, frame.type="t") 

library(ggplot2)

ggplot(res.pca,aes(PC1, PC2))+ 
  geom_point() + 
  stat_density_2d(aes(alpha=..level.., fill=base$Classe), bins=4, geom="polygon")

library(magrittr)
library(dplyr)   
# 1. coordenadas dos vinhos 
res.ind <- get_pca_ind(res.pca)
# 2. Coordenadasdos grupos 
coord.groups <- res.ind$coord %>%
  as_data_frame() %>%
  select(Dim.1, Dim.2) %>%
  mutate(competition = groups) %>%
  group_by(competition) %>%
  summarise(
    Dim.1 = mean(Dim.1),
    Dim.2 = mean(Dim.2)
    )
coord.groups
## # A tibble: 3 × 3
##   competition   Dim.1  Dim.2
##   <fct>         <dbl>  <dbl>
## 1 B            0.0389 -1.64 
## 2 R           -2.28    0.965
## 3 T            2.74    1.24
quanti.sup <- decathlon2[1:linhas, 11:12, drop = FALSE]
head(quanti.sup)
##           Rank Points
## SEBRLE       1   8217
## CLAY         2   8122
## BERNARD      4   8067
## YURKOV       5   8036
## ZSIVOCZKY    7   8004
## McMULLEN     8   7995
# Prever coordenadas e calcular cos2
quanti.coord <- cor(quanti.sup, res.pca$x)
quanti.cos2 <- quanti.coord^2
# Gráfico de variáveis incluindo variáveis suplementares

p <- fviz_pca_var(res.pca)
fviz_add(p, quanti.coord, color ="blue", geom="arrow")

#::::::::::::::::::::::::::::::::::::::::
var_coord_func <- function(loadings, comp.sdev){
  loadings*comp.sdev
}
#::::::::::::::::::::::::::::::::::::::::
loadings <- res.pca$rotation
sdev <- res.pca$sdev
var.coord <- t(apply(loadings, 1, var_coord_func, sdev)) 
head(var.coord[, 1:ncol(ind.sup.coord)])
##                    [,1]        [,2]       [,3]
## Alcohol    -0.313093350  0.76425725 -0.2493833
## MalicAcid   0.531884726  0.35543171  0.1070404
## Ash         0.004449362  0.49944611  0.7530514
## Alcalinity  0.519157081 -0.01673492  0.7360433
## Magnesium  -0.308022936  0.47347612  0.1572388
## Phenols    -0.856136658  0.10277424  0.1757842
#::::::::::::::::::::::::::::::::::::::::
var.cos2 <- var.coord^2
head(var.cos2[, 1:ncol(ind.sup.coord)])
##                    [,1]         [,2]       [,3]
## Alcohol    9.802745e-02 0.5840891486 0.06219202
## MalicAcid  2.829014e-01 0.1263317027 0.01145765
## Ash        1.979682e-05 0.2494464155 0.56708634
## Alcalinity 2.695241e-01 0.0002800574 0.54175981
## Magnesium  9.487813e-02 0.2241796399 0.02472404
## Phenols    7.329700e-01 0.0105625437 0.03090008
#::::::::::::::::::::::::::::::::::::::::
comp.cos2 <- apply(var.cos2, 2, sum)
contrib <- function(var.cos2, comp.cos2){var.cos2*100/comp.cos2}
var.contrib <- t(apply(var.cos2,1, contrib, comp.cos2))
head(var.contrib[, 1:ncol(ind.sup.coord)])
##                    [,1]        [,2]       [,3]
## Alcohol    2.083097e+00 23.39188197  4.3007553
## MalicAcid  6.011695e+00  5.05939254  0.7923294
## Ash        4.206853e-04  9.98994952 39.2156374
## Alcalinity 5.727426e+00  0.01121587 37.4642355
## Magnesium  2.016174e+00  8.97805359  1.7097376
## Phenols    1.557572e+01  0.42301381  2.1368289
#::::::::::::::::::::::::::::::::::
ind.coord <- res.pca$x
head(ind.coord[, 1:ncol(ind.sup.coord)])
##           PC1        PC2        PC3
## R-1 -3.307421  1.4394023 -0.1652728
## R-2 -2.203250 -0.3324551 -2.0207571
## R-3 -2.509661  1.0282507  0.9800541
## R-4 -3.746497  2.7486184 -0.1756962
## R-5 -1.006070  0.8673840  2.0209873
## R-6 -3.041674  2.1164309 -0.6276254
# Cos2 de indivíduos
#:::::::::::::::::::::::::::::::::
# 1. quadrado da distância entre um indivíduo e o centro de gravidade do PCA
center <- res.pca$center
scale<- res.pca$scale
getdistance <- function(ind_row, center, scale){
  return(sum(((ind_row-center)/scale)^2))
  }
d2 <- apply(dadoswine,1,getdistance, center, scale)
# 2. Calcule o cos2. A soma de cada linha é 1
cos2 <- function(ind.coord, d2){return(ind.coord^2/d2)}
ind.cos2 <- apply(ind.coord, 2, cos2, d2)
head(ind.cos2[, 1:ncol(ind.sup.coord)])
##           PC1         PC2         PC3
## R-1 0.6874080 0.130196702 0.001716479
## R-2 0.4261832 0.009703642 0.358506506
## R-3 0.5740096 0.096357876 0.087536511
## R-4 0.5988669 0.322335688 0.001317056
## R-5 0.1430059 0.106296731 0.577064302
## R-6 0.5977278 0.289391906 0.025449495
# Contribuições de vinhos
#:::::::::::::::::::::::::::::::
contrib <- function(ind.coord, comp.sdev, n.ind){
  100*(1/n.ind)*ind.coord^2/comp.sdev^2
}
ind.contrib <- t(apply(ind.coord, 1, contrib, 
                       res.pca$sdev, nrow(ind.coord)))
head(ind.contrib[, 1:ncol(ind.sup.coord)])
##          [,1]       [,2]       [,3]
## R-1 1.3059329 0.46615504 0.01061190
## R-2 0.5795213 0.02486749 1.58642045
## R-3 0.7519205 0.23788336 0.37315576
## R-4 1.6756863 1.69978863 0.01199264
## R-5 0.1208367 0.16927346 1.58678191
## R-6 1.1045036 1.00779968 0.15303511