1. Importar los datos europe.csv
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.3     ✓ purrr   0.3.4
## ✓ tibble  3.1.1     ✓ dplyr   1.0.5
## ✓ tidyr   1.1.3     ✓ stringr 1.4.0
## ✓ readr   1.4.0     ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
dfeurope <- read.csv('europe.csv')
dfeurope <- column_to_rownames (dfeurope, var = 'Country')
head (dfeurope)
##                  Area   GDP Inflation Life.expect Military Pop.growth
## Austria         83871 41600       3.5       79.91     0.80       0.03
## Belgium         30528 37800       3.5       79.65     1.30       0.06
## Bulgaria       110879 13800       4.2       73.84     2.60      -0.80
## Croatia         56594 18000       2.3       75.99     2.39      -0.09
## Czech Republic  78867 27100       1.9       77.38     1.15      -0.13
## Denmark         43094 37000       2.8       78.78     1.30       0.24
##                Unemployment
## Austria                 4.2
## Belgium                 7.2
## Bulgaria                9.6
## Croatia                17.7
## Czech Republic          8.5
## Denmark                 6.1

a.1) Descripción y tamaño del dataframe importado

dim(dfeurope)
## [1] 28  7
str(dfeurope) 
## 'data.frame':    28 obs. of  7 variables:
##  $ Area        : int  83871 30528 110879 56594 78867 43094 45228 338145 357022 131957 ...
##  $ GDP         : int  41600 37800 13800 18000 27100 37000 20400 36000 38100 26300 ...
##  $ Inflation   : num  3.5 3.5 4.2 2.3 1.9 2.8 5 3.3 2.5 3.3 ...
##  $ Life.expect : num  79.9 79.7 73.8 76 77.4 ...
##  $ Military    : num  0.8 1.3 2.6 2.39 1.15 1.3 2 2 1.5 4.3 ...
##  $ Pop.growth  : num  0.03 0.06 -0.8 -0.09 -0.13 0.24 -0.65 0.07 -0.2 0.06 ...
##  $ Unemployment: num  4.2 7.2 9.6 17.7 8.5 6.1 12.5 7.8 6 17.4 ...
nombrevariables = names(dfeurope) 
nombrevariables
## [1] "Area"         "GDP"          "Inflation"    "Life.expect"  "Military"    
## [6] "Pop.growth"   "Unemployment"

a.2) Revisar si hay valores NA en el dataframe ´europe.csv´

anyNA(dfeurope)
## [1] FALSE

Las variables que se encuentran en el archivo que he importado al R son siete, a saber: Area, GDP, Inflation, Life.expect, Military, Pop.growth, Unemployment. Cabe destacar a la variable ‘Country’, la transformé en un índice para realizar el trabajo correspondiente. Por otro lado, mantuve los nombres de variables y nombre de países tal cual están en el archivo original. Las variables que tienen el archivo importado son de carácter numérico, con distintos tipos de medidas y valores entre sí. Las variables descriptas anteriormente tienen unos 28 registros cada una y no existe registros con valores ´NA´. A continuación se incorpora una muestra (tabla 1) de los primeros seis registros de las siete variables que contiene el archivo, incorporando la variable ´Country´ como índice.

  1. Analizar la distribución de las variables, utilizar el scatter-plot y boxplot.

A continuación podemos encontrar como es la distribución de las variables del archivo (´europe.csv´), realizando los gráficos de boxplot y scatterplot correspondientes.

Gráfico boxplot

grafico1 = boxplot(dfeurope [,1:7],  main = 'Variabilidad de cada variable', cex.main = 1, cex.sub= 0.5 , ylab = 'Variabilidad', xlab = 'Variables', cex.lab=0.8, col = c("orange2", "yellow3", "green3", "grey","red", "brown", "black"), axes=T, xlim=c(0, 8), outpch = 25, outbg = "red", whiskcol = 'black',  whisklty = 2, lty = 1, tcl=0.4, las=0.3 )

Gráfico scatter-plot

grafico2 = plot(dfeurope[,1:7], main='Datos Europa', cex.main= 1, sub= "Gráfico 2. Scatter-plot datos Europa", cex.sub= 0.5, pch= 15, col = c ('blue', 'pink', 'yellow', 'red', ' green', ' brown', 'orange' ), labels = c ('Area', 'GDP', 'Inflation', 'Life.expe', 'Military', 'Pop.growth', 'Unemployment'), font.labels=1.5, cex.labels=1)

Teniendo en cuenta el gráfico de boxplot (gráfico 1), puedo apreciar que existe un mayor rango de variabilidad correspondiente a la variable ´Area´ si las comparo con el resto de las otras variables. A su vez, noto que existen cuatro valores considerados outliers en las variables de ´GDP´, ´Inflation´, ´Life.expect´, ´Military´. Ahora bien, cuando las escalas de medida de las variables son muy distintas entre si, como ocurre en este análisis, la maximización de la varianza dependerá de las escalas de medida de cada variable y las variables con valores más grande, por ejemplo la variable ´Area´, tendrán mayor peso para el análisis que vayamos a realizar. De acuerdo a esta situación y para evitar la realización de un análisis incorrecto sobre el cálculo de componentes principales, puedo indicar que tengo ciertos indicios para utilizar las ´variables estandarizadas´ para calcular los componentes principales, de manera que las magnitudes de los valores numéricos de las variables del archivo sean similares. Cabe destacar que hago mención sobre tener ciertos indicios para realizar el análisis de componentes principales, ya que aún no analice concretamente si las variables están o no correlacionadas. Como veremos más adelante para realizar un análisis de componentes principales, necesitamos que las variables tengan correlación entre si. Con respecto al análisis de las variables utilizando el scatterplot (gráfico 2) , se puede apreciar que hay variables que tienen cierta correlación, tanto positiva como negativa. Por ejemplo la correlación positiva que tiene la variable ´Life.expect´ con la variable ´Pop.growth´, como también la variable ´GDP´ con la variable ´Life expect´, además podemos notar que hay ciertas dispersión de los valores entre si. A pesar de realizar este comentario sobre lo que se puede apreciar en el gráfico 2, a continuación voy a analizar mas en detalle si hay o no correlación entre las variables.

  1. Realice un análisis de PCA utilizando las matrices de S y R

Antes de realizar los cálculos correspondientes al análisis de los componentes principales, es necesario entender si las variables que contiene archivo importado (´europe.csv´) tienen o no correlación, y para ello vamos a realizar este estudio utilizando la matriz de correlaciones. En el caso que notemos que las variables no están correlacionadas entre si, entonces no tiene sentido realizar un análisis de componentes principales; ya que para realizar el mismo, si o si, tenemos que ver que existe correlación entre las variables. A continuación analizaré si existe o no correlación de la variables utilizando la matriz de correlación y la matriz de covarianza.

c.1) Calculamos la matriz de correlaciones

library(ggcorrplot)
library(ggplot2)
correurope <- cor(dfeurope[,1:7])
ggcorrplot(correurope) + ggtitle('Matriz de Correlaciones') 

Para realizar la matriz de correlaciones, he utilizado el mapa de calor (gráfico 3). Se puede observar que mayoritariamente existen variables que están altamente correlacionadas tanto positivamente como negativamente. Por ejemplo la correlación positiva entre la variable ´Life.Expect´ con la variable ´(Pop.growth)’ y la correlación negativa entre la variable ´(Inflation)´ con la variable ´ (GDP)´, entre otras. Cabe destacar que son pocas las variables que tienen baja o nula correlación. Adicionalmente he realizado el cálculo de la matriz de covarianza (tabla 2) y puedo indicar, como lo mencioné anteriormente, que existe correlación tanto positiva como negativa entre las mayoría de las variables. A continuación incorporo la matriz de covarianza donde se puede apreciar esta afirmación.

c.2) Calculamos la matriz de covarianza

coveurope <- cov(dfeurope[1:7])
options(scipen=999)
coveurope
##                         Area            GDP      Inflation    Life.expect
## Area         27403053235.739 -332532111.508 74089.92804233 -11440.5584259
## GDP           -332532111.508  210311362.434 -9991.95767196  32419.8796296
## Inflation          74089.928      -9991.958     1.95513228     -3.0287037
## Life.expect       -11440.558      32419.880    -3.02870370     10.1707157
## Military           13489.840      -3305.827     0.05410053     -0.1616417
## Pop.growth         -7363.911       5535.550    -0.33602116      1.2352593
## Unemployment       19707.051     -35802.460     1.30015873     -3.6695741
##                    Military    Pop.growth  Unemployment
## Area         13489.83996032 -7363.9106349  19707.051058
## GDP          -3305.82671958  5535.5502646 -35802.460317
## Inflation        0.05410053    -0.3360212      1.300159
## Life.expect     -0.16164167     1.2352593     -3.669574
## Military         0.64216548    -0.1135746      1.095643
## Pop.growth      -0.11357460     0.2519693     -0.410381
## Unemployment     1.09564286    -0.4103810     21.882487

Como conclusión, teniendo en cuenta que las variables bajo análisis están correlacionadas, por lo tanto, podemos realizar el análisis de los componentes principales. Una de las aplicaciones de análisis de componentes principales, es la reducción de dimensionalidad (variables), perdiendo la menor cantidad de información (varianza) posible. Cuando contamos con un gran número de variables cuantitativas correlacionadas, como en este caso, el análisis de componentes principales permite reducirlas a un número menor de variables transformadas (componentes principales) que expliquen gran parte de la variabilidad en los datos.

  1. Calcular la varianza explicada por las componentes principales en ambos casos.

Para comenzar a calcular la varianza explicada por los componentes principales, comienzo por realizar el cálculo de los componentes principales utilizando la matriz de covarianza (tabla 3) y obtengo como resultado lo siguiente:

acp= prcomp(dfeurope[1:7])

print(acp)
## Standard deviations (1, .., p=7):
## [1] 165550.9561020  14361.2514738      4.0170533      2.3169702      0.8815877
## [6]      0.7473809      0.2410697
## 
## Rotation (n x k) = (7 x 7):
##                           PC1            PC2            PC3              PC4
## Area          0.9999252600751  0.01222596642 -0.00000115907  0.0000008763984
## GDP          -0.0122259664360  0.99992523153 -0.00013923770  0.0001911238366
## Inflation     0.0000027075648 -0.00004405133  0.04075769233  0.3473311647376
## Life.expect  -0.0000004318611  0.00015650077 -0.17786630641 -0.9164732354676
## Military      0.0000004936399 -0.00001522774 -0.03845450546 -0.0518473040177
## Pop.growth   -0.0000002711353  0.00002640108 -0.03703965635 -0.0522010103891
## Unemployment  0.0000007349659 -0.00017241027 -0.98175948329  0.1844579782090
##                         PC5              PC6             PC7
## Area          0.00000255643  0.0000004766935  0.000000082325
## GDP           0.00002042596 -0.0000209914170 -0.000017702789
## Inflation    -0.93243795454 -0.0817542177495 -0.039693568644
## Life.expect  -0.34761766009  0.0232240281316 -0.084041466734
## Military      0.06038967673 -0.9883531655308  0.123871768263
## Pop.growth   -0.07392448081  0.1234304381148  0.987523779845
## Unemployment  0.02469171905  0.0264544719976 -0.028531060840
summary(acp)
## Importance of components:
##                                PC1         PC2   PC3   PC4    PC5    PC6    PC7
## Standard deviation     165550.9561 14361.25147 4.017 2.317 0.8816 0.7474 0.2411
## Proportion of Variance      0.9925     0.00747 0.000 0.000 0.0000 0.0000 0.0000
## Cumulative Proportion       0.9925     1.00000 1.000 1.000 1.0000 1.0000 1.0000

En principio, se puede observar que hay siete componentes principales debido a que tenemos siete variables numéricas que estamos analizando del archivo importado. El resultado que tenemos al calcular los componentes principales con la matriz de covarianza, es que con la primera componente principal tenemos la mayor varianza acumulada (99,25%). Esto se debe a que la variable ‘Area’ (99.99%) tiene valores más grande en comparación con las otras variables en la primera componente, por lo tanto usando la matriz de covarianza y al no estandarizar las variables, dicha variable tiene más peso en el análisis. Los cálculos de las variables por cada componente se encuentra desarrollado el programa R que se adjunta a este documento. Para dar mayor sustento del análisis realizado sobre las componentes principales utilizando la matriz de covarianza, podemos ver que en el gráfico de barra (gráfico 4) la importancia de la primera componente principal. Las alturas de las barras son las varianzas correspondientes de cada componente y ahí notamos gráficamente que la primera componente muestra tiene la mayor variabilidad, utilizando la matriz de covarianza.

color = c('red', 'blue', 'yellow', 'green', 'pink', 'skyblue', 'violet')
screeplot(acp, main = 'Importancia por componente - matriz covarianza -',  cex.main= 1, col = color)

De acuerdo al análisis realizado con la matriz de covarianza para calcular los componentes principales, puedo concluir que no es adecuado utilizar esta matriz debido a que existe una variable ‘Area’ que tiene mayores valores de acuerdo a su medida que es resto y por lo tanto tiene un gran peso en el análisis. Como considero que no se puede utilizar la matriz de covarianza para realizar el análisis de los componentes principales, en este documento no incluyo los cálculos realizado mas en detalle, sino que los mismos se encuentran desarrollado el programa R que se adjunta a este documento.

A continuación realizo el cálculo para obtener los autovalores y sus componentes

Autovalores de matriz de covarianza.

acp$sdev^2
## [1] 27407119066.28216553   206245543.89463460          16.13671749
## [4]           5.36835095           0.77719683           0.55857827
## [7]           0.05811462

Los valores de los componentes

acp$x 
##                       PC1         PC2          PC3        PC4         PC5
## Austria         -82664.44   8729.2865   4.07936758 -0.8035752 -0.96350378
## Belgium        -135956.99   4277.4003   1.75092748 -0.8124283 -0.98505723
## Bulgaria        -55318.57 -18738.4380   3.68707400  0.6590510  0.29842517
## Croatia        -109650.87 -15202.4396  -5.26513093  0.2517840  1.40452727
## Czech Republic  -87490.79  -5830.8092   2.25980519 -1.0329340  1.23803949
## Denmark        -123382.15   3631.0917   3.04723436 -0.6124146 -0.05460727
## Estonia        -121045.36 -12941.5790   0.09346492  2.9372862 -0.36588193
## Finland         171659.02   6238.4499   1.06319782 -0.6625091  0.09084176
## Germany         190508.94   8569.0829   2.37397203 -1.5293258  0.60212228
## Greece          -34394.97  -5981.6740  -6.97401057 -1.6315862 -0.48019457
## Hungary         -73239.15 -13157.1174   1.41151076  0.8177878  0.17573830
## Iceland         -63494.08   5463.4183   1.23646014 -1.6826996 -1.84782483
## Ireland         -96251.64   7763.0960  -5.96088334  0.1631659 -0.13987991
## Italy           134924.02    288.8847   0.82674214 -4.0253760 -0.61445802
## Latvia         -101641.79 -16304.6030   0.40166761  2.7529072  0.34485449
## Lithuania      -100958.97 -13996.0823  -2.95437668  1.1610118 -0.20891036
## Luxembourg     -164420.18  46732.5826  -2.74990365  6.9044781 -0.26480767
## Netherlands    -124994.16   8611.7560   3.60328593 -2.1240032 -0.27003228
## Norway          157104.36  23461.7929   2.82584543  0.2833741  1.82175840
## Poland          146394.10  -9871.6432  -0.61528934  0.3655962  0.08093410
## Portugal        -74223.54  -9368.8692  -1.58085618 -1.6141354 -0.79073977
## Slovakia       -117274.10  -9995.2512  -1.47497614  1.0051274 -0.21661348
## Slovenia       -146101.19  -4847.3051  -1.18958064 -0.3024283  1.30058666
## Spain           338938.77   2783.3463 -12.34097940 -0.7660738  0.19794367
## Sweden          283743.18  12309.2409   0.26179137 -1.4269298  0.09300073
## Switzerland    -125290.71  11108.3175   4.70014283 -2.9026641  1.53760667
## Ukraine         437396.29 -19314.5661   6.80583981  5.5630457 -0.47433210
## United Kingdom   77124.98   5582.6308   0.67765746 -0.9355320 -1.50953580
##                        PC6           PC7
## Austria         0.41944247 -0.3583369647
## Belgium         0.05663309 -0.2676386335
## Bulgaria       -0.92094822 -0.1323730831
## Croatia        -0.32025380  0.1275620384
## Czech Republic  0.54156435 -0.0632561096
## Denmark         0.10955696  0.0575981147
## Estonia        -0.47398416 -0.2734548509
## Finland        -0.42290649 -0.1028735409
## Germany         0.03876051 -0.4495042326
## Greece         -2.32319850 -0.0007858102
## Hungary        -0.04825940  0.1461036601
## Iceland         1.44080050  0.0353640173
## Ireland         0.81715934  0.4438690598
## Italy           0.01640891  0.0656770411
## Latvia          0.54839683 -0.2003555434
## Lithuania       0.89177872 -0.2322414989
## Luxembourg     -0.35565707  0.0277204612
## Netherlands    -0.22135335  0.1028392730
## Norway         -0.59846996 -0.0364146695
## Poland         -0.04833412  0.1128227257
## Portugal       -0.47819989  0.1497040821
## Slovakia        0.63415988  0.1199908707
## Slovenia        0.02474508 -0.1878838460
## Spain           1.06179825 -0.0630351880
## Sweden          0.09611110 -0.2683134130
## Switzerland     0.51246047  0.5555289285
## Ukraine         0.18537399  0.3705361038
## United Kingdom -1.18358548  0.3211510081

De acuerdo a lo expuesto anteriormente, considero que debemos estandarizar las variables -como veremos a continuación- para hacer un correcto análisis. Como comente anteriormente, voy a realizar el análisis de los componentes principales utilizando la matriz de correlaciones. El objetivo en este caso, es estandarizar los valores de las variables y así obtener una mejor conclusión sobre el análisis de componentes principales. A continuación se describe el resultado correspondiente al análisis de componentes principales utilizando la matriz de correlaciones.

acpCorr=prcomp(dfeurope[1:7],scale=TRUE)
print(acpCorr)                          
## Standard deviations (1, .., p=7):
## [1] 1.7964314 1.0895519 1.0311113 0.8776993 0.6766451 0.4106993 0.3544600
## 
## Rotation (n x k) = (7 x 7):
##                     PC1         PC2           PC3         PC4         PC5
## Area          0.1248739  0.17287220 -0.8982967395  0.04485040 -0.32401693
## GDP          -0.5005059  0.13013955 -0.0839557607 -0.08425547  0.39063244
## Inflation     0.4065182  0.36965724 -0.1981946748  0.16468565  0.68950054
## Life.expect  -0.4828733 -0.26524780 -0.2460824604  0.02677144 -0.10178656
## Military      0.1881116 -0.65826689 -0.2436794326 -0.56237480  0.36814758
## Pop.growth   -0.4757036 -0.08262198 -0.1636972068  0.39246277  0.34786777
## Unemployment  0.2716558 -0.55320371 -0.0005001357  0.70196791  0.01015874
##                      PC6         PC7
## Area          0.19011808  0.06664282
## GDP           0.63865707 -0.39740844
## Inflation    -0.32386726 -0.22670030
## Life.expect  -0.60643419 -0.50703130
## Military      0.03559607  0.13730960
## Pop.growth   -0.12085562  0.67114668
## Unemployment  0.25970497 -0.24466243
summary(acpCorr)
## Importance of components:
##                          PC1    PC2    PC3    PC4     PC5    PC6     PC7
## Standard deviation     1.796 1.0896 1.0311 0.8777 0.67665 0.4107 0.35446
## Proportion of Variance 0.461 0.1696 0.1519 0.1100 0.06541 0.0241 0.01795
## Cumulative Proportion  0.461 0.6306 0.7825 0.8925 0.95795 0.9820 1.00000

Teniendo en cuenta el resultado de la matriz de correlación (tabla 4) para calcular los componentes principales, puedo indicar que para llegar a una varianza explicada acumulada de 95,7% debo tomar los cinco primeros componentes principales. En pos de sustentar esta afirmación, podemos ver que la importancia de la primera componente principal en comparación con los otros componentes es menor, de acuerdo al siguiente gráfico (gráfico 5).

color = c('red', 'blue', 'yellow', 'green', 'pink', 'skyblue', 'violet')
screeplot(acpCorr, main = 'Importancia por componente -matriz covarianza-', cex.main= 1, col = color)

De acuerdo a que la matriz de correlaciones es la más apropiada para hacer el análisis de componentes principales, a continuación interpretaré la primera componente principal utilizando el gráfico de biplot (gráfico 6). En primera medida, teniendo en cuenta que la primera componente representa un índice por el cual se puede ordenar los registros, lo que voy a realizar es un ordenamiento de los registros de países de acuerdo a la primera componente principal calculada con la matriz de correlaciones. Teniendo en cuenta la matriz de rotación podemos ver las cargas que tienen cada variable en la primera componente, de acuerdo a ello se puede notar que la variable ´GDP´ tiene un mayor valor con signo negativo seguida por las variables ´Life.expect´ y ´Pop.growth´. De acuerdo a estos resultados, puedo ordenar los países de menor a mayor de acuerdo al valor de cada componente. Siendo ´Luxembourg´ el país con menor valor de la componente principal y ´Ukraine´ el país con mayor valor de la componente principal. A continuación incorporo la matriz de rotación donde vemos los valores de la primera componente principal y de forma subsiguiente podemos apreciar el ranking de países ordenados por la variable de ´GDP´.

Autovalores de matriz de correlaciones

acpCorr$sdev^2
## [1] 3.2271657 1.1871234 1.0631905 0.7703560 0.4578486 0.1686739 0.1256419
acpCorr$x
##                        PC1         PC2        PC3         PC4          PC5
## Austria        -1.06225512  1.24716550  0.5055267 -0.40644855  0.001228822
## Belgium        -0.66882110  0.40854393  0.6749073 -0.27825757  0.268589528
## Bulgaria        2.56285012 -0.26477926  0.6118044 -1.30793996  0.001911148
## Croatia         1.24726141 -1.86716408  0.8169339  0.36520546 -0.371084383
## Czech Republic -0.16419646  0.12956592  0.9839234 -0.25870181 -1.028535293
## Denmark        -0.93797874  0.40224665  0.7191183 -0.38428772  0.027385868
## Estonia         2.44290749  0.08423319  0.9697426 -0.29850661  0.545585750
## Finland        -0.20676891  0.03310977 -1.1532752 -0.60341795 -0.143153481
## Germany        -0.58171902  0.46332976 -0.9743748 -0.82849910 -0.963647587
## Greece          0.98244396 -3.34545943 -0.7247845 -0.77888190  1.049276326
## Hungary         1.37172691  0.03361423  0.6827110 -0.09555884  0.049480101
## Iceland        -1.55518187  1.45064396  0.3012207  1.22911582  0.164227736
## Ireland        -1.77632183 -0.51240492  0.2961800  1.79680399  0.365952334
## Italy          -0.83784930 -0.32189228 -1.0944039 -0.13521301 -0.370448187
## Latvia          2.26450539  0.66317896  1.2780619  0.36724575 -0.242568155
## Lithuania       1.50252828  0.19148317  1.0574296  1.12144435 -0.278033157
## Luxembourg     -3.41575532  1.05689283  0.3548078  0.35459201  1.985081446
## Netherlands    -1.80689657  0.05619810  0.4455776 -0.75621651  0.130227249
## Norway         -2.06855257  0.14136888 -1.0168047 -1.33813110 -0.537189150
## Poland          1.44525321 -0.07166993 -0.7285499  0.20413713 -0.114157018
## Portugal        0.51700619 -1.01612795  0.1253538  0.05504257  0.443666054
## Slovakia        0.76885732  0.16915574  0.9342651  0.91375767  0.094252904
## Slovenia        0.06632628 -0.78329841  1.1504676 -0.23308108 -0.702297604
## Spain          -0.16081596 -1.13130635 -2.0914183  2.56665482 -0.712001343
## Sweden         -0.86915616  0.39562102 -1.7636578 -0.23675635 -0.601550204
## Switzerland    -3.22245361  0.10627652  0.7394971 -0.46752484 -0.799151335
## Ukraine         4.49773395  2.77806408 -1.8589231 -0.01141528  0.459237312
## United Kingdom -0.33467796 -0.49658961 -1.2413365 -0.55516137  1.277714318
##                         PC6         PC7
## Austria        -0.374667083 -0.56517809
## Belgium        -0.372297656 -0.47230484
## Bulgaria        0.003762881 -0.02468148
## Croatia         0.427051065  0.29426412
## Czech Republic  0.125504579  0.11294754
## Denmark        -0.169934149  0.10468487
## Estonia         0.181398447 -0.37427095
## Finland         0.055683267 -0.12662265
## Germany         0.149685646 -0.52340545
## Greece         -0.092452161 -0.16693888
## Hungary        -0.031067729  0.28555274
## Iceland        -0.841882370 -0.16466532
## Ireland         0.015677691  0.45965746
## Italy          -0.652242230  0.03344668
## Latvia          0.272307012 -0.17025634
## Lithuania       0.004110626 -0.34330532
## Luxembourg      1.123551941 -0.20219350
## Netherlands    -0.372355326  0.13056354
## Norway          0.778818509  0.13622014
## Poland          0.010113519  0.19430136
## Portugal       -0.480555959  0.10983013
## Slovakia       -0.080190312  0.14514620
## Slovenia        0.359308712 -0.11549089
## Spain           0.294677274 -0.26046479
## Sweden          0.061438408 -0.37931501
## Switzerland    -0.054238528  0.97036746
## Ukraine         0.179944417  0.65984881
## United Kingdom -0.521150489  0.25226245
sort (acpCorr$x[,1])
##     Luxembourg    Switzerland         Norway    Netherlands        Ireland 
##    -3.41575532    -3.22245361    -2.06855257    -1.80689657    -1.77632183 
##        Iceland        Austria        Denmark         Sweden          Italy 
##    -1.55518187    -1.06225512    -0.93797874    -0.86915616    -0.83784930 
##        Belgium        Germany United Kingdom        Finland Czech Republic 
##    -0.66882110    -0.58171902    -0.33467796    -0.20676891    -0.16419646 
##          Spain       Slovenia       Portugal       Slovakia         Greece 
##    -0.16081596     0.06632628     0.51700619     0.76885732     0.98244396 
##        Croatia        Hungary         Poland      Lithuania         Latvia 
##     1.24726141     1.37172691     1.44525321     1.50252828     2.26450539 
##        Estonia       Bulgaria        Ukraine 
##     2.44290749     2.56285012     4.49773395

Acomodo el score en un data frame

b<-acpCorr$x[,1]
a<-row.names(dfeurope)
rank <- data.frame ("País"  = a,"GDP" = b)
rank
##                          País         GDP
## Austria               Austria -1.06225512
## Belgium               Belgium -0.66882110
## Bulgaria             Bulgaria  2.56285012
## Croatia               Croatia  1.24726141
## Czech Republic Czech Republic -0.16419646
## Denmark               Denmark -0.93797874
## Estonia               Estonia  2.44290749
## Finland               Finland -0.20676891
## Germany               Germany -0.58171902
## Greece                 Greece  0.98244396
## Hungary               Hungary  1.37172691
## Iceland               Iceland -1.55518187
## Ireland               Ireland -1.77632183
## Italy                   Italy -0.83784930
## Latvia                 Latvia  2.26450539
## Lithuania           Lithuania  1.50252828
## Luxembourg         Luxembourg -3.41575532
## Netherlands       Netherlands -1.80689657
## Norway                 Norway -2.06855257
## Poland                 Poland  1.44525321
## Portugal             Portugal  0.51700619
## Slovakia             Slovakia  0.76885732
## Slovenia             Slovenia  0.06632628
## Spain                   Spain -0.16081596
## Sweden                 Sweden -0.86915616
## Switzerland       Switzerland -3.22245361
## Ukraine               Ukraine  4.49773395
## United Kingdom United Kingdom -0.33467796
rank2<-arrange(rank,GDP)
rank2
##                          País         GDP
## Luxembourg         Luxembourg -3.41575532
## Switzerland       Switzerland -3.22245361
## Norway                 Norway -2.06855257
## Netherlands       Netherlands -1.80689657
## Ireland               Ireland -1.77632183
## Iceland               Iceland -1.55518187
## Austria               Austria -1.06225512
## Denmark               Denmark -0.93797874
## Sweden                 Sweden -0.86915616
## Italy                   Italy -0.83784930
## Belgium               Belgium -0.66882110
## Germany               Germany -0.58171902
## United Kingdom United Kingdom -0.33467796
## Finland               Finland -0.20676891
## Czech Republic Czech Republic -0.16419646
## Spain                   Spain -0.16081596
## Slovenia             Slovenia  0.06632628
## Portugal             Portugal  0.51700619
## Slovakia             Slovakia  0.76885732
## Greece                 Greece  0.98244396
## Croatia               Croatia  1.24726141
## Hungary               Hungary  1.37172691
## Poland                 Poland  1.44525321
## Lithuania           Lithuania  1.50252828
## Latvia                 Latvia  2.26450539
## Estonia               Estonia  2.44290749
## Bulgaria             Bulgaria  2.56285012
## Ukraine               Ukraine  4.49773395
rank3 = rank[order(rank$GDP),]
rank3
##                          País         GDP
## Luxembourg         Luxembourg -3.41575532
## Switzerland       Switzerland -3.22245361
## Norway                 Norway -2.06855257
## Netherlands       Netherlands -1.80689657
## Ireland               Ireland -1.77632183
## Iceland               Iceland -1.55518187
## Austria               Austria -1.06225512
## Denmark               Denmark -0.93797874
## Sweden                 Sweden -0.86915616
## Italy                   Italy -0.83784930
## Belgium               Belgium -0.66882110
## Germany               Germany -0.58171902
## United Kingdom United Kingdom -0.33467796
## Finland               Finland -0.20676891
## Czech Republic Czech Republic -0.16419646
## Spain                   Spain -0.16081596
## Slovenia             Slovenia  0.06632628
## Portugal             Portugal  0.51700619
## Slovakia             Slovakia  0.76885732
## Greece                 Greece  0.98244396
## Croatia               Croatia  1.24726141
## Hungary               Hungary  1.37172691
## Poland                 Poland  1.44525321
## Lithuania           Lithuania  1.50252828
## Latvia                 Latvia  2.26450539
## Estonia               Estonia  2.44290749
## Bulgaria             Bulgaria  2.56285012
## Ukraine               Ukraine  4.49773395

Teniendo en cuenta lo descripto anteriormente, a continuación analizaré la primera componente principal utilizando el gráfico de biplot. Previo a esto, quisiera remarcar ciertos conceptos aprendidos para explicar esta representación gráfica. • La longitud del vector representa la variabilidad de la variable correspondiente. • La proyección sobre los ejes, corresponde a la carga de la variable en la componente. • La fila se representan como puntos y las variables como vectores. • El ángulo entre los vectores corresponde a la correlación entre las variables: o cuando el ángulo es agudo indica correlación positiva. o cuando el ángulo es obtuso indica correlación negativa. o cuando el ángulo es recto indica que no están correlacionadas las variables.

  1. Realizar el grafico de biplot e interpretar la primera componente.
library(ggfortify)
library(ggplot2)

biplot(acpCorr) 

autoplot(acpCorr,label = TRUE, label.size = 2.5, shape = FALSE, loadings = TRUE, loadings.colour = 'green',loadings.label = TRUE, loadings.label.size = 3.5)

La representación biplot, es una representación gráfica de datos multivariantes en dos o tres dimensiones. Las representaciones de las variables son normalmente vectores y los registros, en este caso los países, se representan por puntos. El prefijo ’bi’ se refiere a la superposición en la misma representación de los registros y variables.

En el gráfico 6 (biplot), se encuentran representados los 28 países en donde los vectores representan las variables y la longitud de los mismos la variabilidad de la variable. En el eje ´x´ se encuentra la primera componente (PC1) cuya proporción de variación es de 46% y en el eje ´y´ se encuentra la segunda componente (PC2) donde su proporción de variación es de 17%.

Ahora bien podemos notar en el gráfico que, las variables ´Inflation´, ´Unemployment´, ´Military´, ´Life.expect´, ´Pop.growth´, ´GDP´ debido a la longitud de los vectores, tienen una gran variabilidad mientras que la variable ´Area´ tiene una menor variabilidad de acuerdo a su longitud.

Por otro lado, puedo indicar que considerando la PC1, las variables ´Inflation´, ´Unemployment´, ´Military´ y ´Area´ poseen cargas positivas mientras que las tres variables restantes tienen cargas negativas, a esta conclusión arribo proyectando los vectores sobre el eje x (PC1) y si los valores son mayores a cero tienen carga positiva, caso contrario carga negativa.

De acuerdo a ello, podemos notar que los países que tienen mayor valor en PC1 (ver gráfico 6 y tabla 5) como ser ´Ukraine´, ´Bulgaria´, ´Estonia´ y ´Latvia´ tienen variables con carga positiva influenciado en este caso mayormente por la variable ´Inflation´, en el otro extremo podemos notar que los países que tienen menor valor en PC1 (ver gráfico 6 y tabla 5) como ser ´Luxembourg´, ´Switzerland´, ´Norway´ tienen variables con carga negativa influenciada en este caso mayoritariamente por la variable ´GDP´.

Teniendo en cuenta este análisis podemos indicar que los países que tienen mayores valores en la PC1 son países con mayor carga positiva de las variables ´Inflation´, ´Unemployment´, ´Military´ y ´Area´; mientras que los países que tienen menores valores en la PC1 son países que tienen mayor carga negativa de las variables ´Life.expect´, ´Pop.growth´, ´GDP´. De acuerdo a ello, es como se produce el ranking de los paises que esta en la tabla 5. Si vemos el gráfico de biplot podemos notar que se pueden realizar grupos de países que tienen similares características de acuerdo a los valores de cada variable, es por ello que se puede indicar que los países ´Lithuania´, ´Polland´ y ´Hungary´ tienen características similares, también puedo afirmar que tienen características similares los países como ´Netherlands´, ´Norway´ por un lado y ´Czek Republic´, ´Finland´, entre otros grupos que se pueden indicar.

Además, como mencioné anteriormente, podemos indicar si existe una correlación positiva o negativa entre las variables de acuerdo a su ángulo. Para realizar este análisis, lo que hice fue un resumen que demuestra como están las variables correlacionadas entre si de acuerdo al angulo analizado.