title: “WJS2 MFA EUROPA COMPARISION 2022 March
output: html_notebook

MFA ROLES AND INFLUENCES, EUROPE

rolesinfluences<-mfadata[,c(225:242,246:270,201,1)]
rolesinfluences<-droplevels(rolesinfluences)
rolesinfluences<-rolesinfluences %>% filter(complete.cases(.)) 
roles<-rolesinfluences[,1:18]
influences<-rolesinfluences[,19:43]
nrow(rolesinfluences)
## [1] 8150
rolesinfluences<-rolesinfluences %>% filter(complete.cases(.)) 
nrow(rolesinfluences)
## [1] 8150
res<-MFA(rolesinfluences, group=c(18, 25,1,1), type=c("n", "n","s","n"), ncp=5, 
  name.group=c("ROLES", "INFLUENCES", "WEIGHT", "COUNTRY"), num.group.sup=c(3,4), graph=FALSE, row.w = rolesinfluences$nworldweight)

eig.val <- get_eigenvalue(res)
head(eig.val)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1  1.2940456        13.254481                    13.25448
## Dim.2  0.8234177         8.433995                    21.68848
## Dim.3  0.5320565         5.449679                    27.13815
## Dim.4  0.4764735         4.880361                    32.01851
## Dim.5  0.3629029         3.717094                    35.73561
## Dim.6  0.3462863         3.546896                    39.28250
fviz_screeplot(res)

# Contribution to dimensions
stargazer(res$group$contrib, type="text", digits=2)
## 
## ========================================
##            Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## ----------------------------------------
## ROLES      47.80 69.28 65.93 43.89 25.82
## INFLUENCES 52.20 30.72 34.07 56.11 74.18
## ----------------------------------------
stargazer(res$quali.var$contrib, type="text", digits=2)
## 
## ======================================================
##                       Dim.1 Dim.2 Dim.3  Dim.4  Dim.5 
## ------------------------------------------------------
## notDetachedObserver   0.19  1.22   0.12   5.88   7.18 
## DetachedObserver      0.05  0.30   0.03   1.42   1.74 
## notReportReality      0.24  2.50  0.001   8.48   4.06 
## ReportReality         0.02  0.16  0.0000  0.53   0.25 
## notAnalysCurrAffairs  1.21  3.76   0.01   1.50   0.08 
## AnalysCurrAffairs     0.33  1.02  0.004   0.41   0.02 
## notMonPolLeaders      1.36  7.13   2.35  0.001   0.24 
## MonPolLeaders         1.13  5.92   1.95  0.001   0.20 
## notMonBusiness        0.89  4.97   2.08  0.0003  0.15 
## MonBusiness           0.96  5.36   2.25  0.0003  0.16 
## notSetPolAgenda       0.84  1.40   0.01   0.56   0.04 
## SetPolAgenda          2.42  4.04   0.02   1.62   0.12 
## notInflPublOpinion    2.06  0.46   2.00   0.25   0.40 
## InflPublOpinion       3.16  0.71   3.06   0.38   0.61 
## notAdvSocialChange    2.44  0.99   1.94   0.09   0.91 
## AdvSocialChange       2.53  1.03   2.01   0.09   0.95 
## notAdvGoverment       0.45  0.79   0.35   0.53  0.003 
## AdvGoverment          1.59  2.79   1.24   1.86   0.01 
## notSupNatDevelop      2.39  0.45   1.58   0.05   0.75 
## SupNatDevelop         3.34  0.63   2.21   0.06   1.06 
## notPosImagePolit      0.17  0.005  0.25   0.50   0.01 
## PosImagePolit         2.62  0.08   3.98   7.81   0.15 
## notSupGovPolicy       0.13  0.004  0.22   0.43   0.05 
## SupGovPolicy          2.36  0.08   4.01   7.87   0.89 
## notEntertainment      0.31  1.27   4.45  0.004   1.10 
## Entertainment         0.57  2.35   8.20   0.01   2.02 
## notLargeAudience      1.02  1.44   5.69   0.11   0.85 
## LargeAudience         1.10  1.57   6.19   0.12   0.93 
## notAdvDailyLife       1.14  0.14   3.47  0.004   0.30 
## AdvDailyLife          1.42  0.17   4.30  0.004   0.37 
## notInfoMakePolDec     1.56  5.12   0.68   0.07   0.01 
## InfoMakePolDec        1.20  3.93   0.52   0.05  0.004 
## notMotivPolPart       1.11  1.74  0.0004  0.08  0.0001
## MotivPolPart          2.08  3.27  0.001   0.16  0.0002
## notLetPeopleExpr      2.31  1.66   0.50   2.00   0.15 
## LetPeopleExpr         1.11  0.80   0.24   0.96   0.07 
## PersonalValues0       0.51  0.06   0.02   0.40   1.07 
## PersonalValues        0.38  0.04   0.02   0.30   0.79 
## PeersOnStaff0         0.27  0.29   0.14   0.18   0.57 
## PeersOnStaff          0.70  0.75   0.35   0.47   1.46 
## EditSupervis0         0.83  1.08   0.78   0.12   4.45 
## EditSupervis          0.97  1.26   0.91   0.15   5.21 
## Managers0             0.90  0.68   0.32   0.03   3.98 
## Managers              2.13  1.61   0.75   0.08   9.41 
## Owners0               0.81  0.52   0.23   0.09   3.09 
## Owners                2.33  1.51   0.66   0.25   8.94 
## EdPolicy0             0.92  0.53   0.49   0.57   2.36 
## EdPolicy              0.91  0.52   0.48   0.56   2.33 
## AdvertCons0           0.61  0.50   0.01   0.02   0.18 
## AdvertCons            2.57  2.11   0.04   0.09   0.76 
## ProfitExp0            0.58  0.64  0.0003  0.01   0.13 
## ProfitExp             2.15  2.37  0.001   0.04   0.47 
## AudienceRes0          0.75  0.56   0.09   0.57   0.01 
## AudienceRes           1.63  1.22   0.20   1.24   0.02 
## AvailResour0          0.70  0.26   0.23   3.26   0.21 
## AvailResour           0.58  0.21   0.19   2.67   0.17 
## TimeLimits0           0.69  0.24   0.51   2.94  0.005 
## TimeLimits            0.41  0.14   0.30   1.72  0.003 
## JournEthics0          0.57  0.35   0.09   5.63   0.04 
## JournEthics           0.19  0.11   0.03   1.86   0.01 
## FriendsPeerFamily0    0.17  0.16   0.01   0.03   0.02 
## FriendsPeerFamily     0.96  0.93   0.04   0.15   0.10 
## ColleaguesOtherMedia0 0.15  0.13   0.05   0.03   0.07 
## ColleaguesOtherMedia  1.33  1.12   0.46   0.24   0.63 
## AudienceFeedb0        0.94  0.76   0.21   1.28   0.07 
## AudienceFeedb         1.58  1.28   0.36   2.16   0.12 
## CompetingNewsorg0     0.78  0.56   0.02   0.34   0.08 
## CompetingNewsorg      1.98  1.42   0.05   0.85   0.19 
## MediaLawsRegul0       0.94  0.06   0.01   2.12   0.11 
## MediaLawsRegul        1.06  0.07   0.01   2.38   0.13 
## InformAccess0         1.36  0.09   0.33   3.88   0.25 
## InformAccess          0.72  0.05   0.18   2.05   0.13 
## Censorshp0            0.49  0.12   0.15   0.07   0.05 
## Censorshp             2.71  0.67   0.86   0.42   0.25 
## GovOfficials0         0.21  0.04   0.39   0.33   0.49 
## GovOfficials          2.35  0.46   4.38   3.72   5.50 
## Politician0           0.22  0.05   0.62   0.41   0.52 
## Politician            2.30  0.49   6.58   4.36   5.53 
## PressureGroups0       0.16  0.06   0.38   0.25   0.45 
## PressureGroups        2.13  0.77   5.06   3.30   5.97 
## BusinessPeople0       0.19  0.10   0.44   0.22   0.28 
## BusinessPeople        2.12  1.08   4.81   2.42   3.12 
## PublRelat0            0.32  0.29   0.13   0.13   0.48 
## PublRelat             2.01  1.78   0.81   0.83   2.95 
## RelationshSources0    0.82  0.27   0.38   0.37   0.43 
## RelationshSources     1.17  0.39   0.54   0.53   0.62 
## ------------------------------------------------------
stargazer(res$partial.axes$contrib, type="text", digits=2)
## 
## ==============================================
##                 Dim.1 Dim.2  Dim.3 Dim.4 Dim.5
## ----------------------------------------------
## Dim1.ROLES      44.34 47.87  5.66  0.98  0.10 
## Dim2.ROLES      3.42  21.71  59.63 4.83  1.60 
## Dim3.ROLES      0.01  0.0000 1.27  37.34 9.77 
## Dim4.ROLES      0.03   0.10  0.05  0.33  8.36 
## Dim5.ROLES      0.02   0.06  0.16  0.12  3.90 
## Dim1.INFLUENCES 52.02 27.59  18.28 1.09  0.01 
## Dim2.INFLUENCES 0.05  0.0003 8.33  51.55 15.36
## Dim3.INFLUENCES 0.07   1.02  0.40  3.11  59.24
## Dim4.INFLUENCES 0.03   1.01  1.46  0.46  0.01 
## Dim5.INFLUENCES 0.01   0.64  4.77  0.19  1.65 
## Dim1.WEIGHT       0     0      0     0     0  
## Dim1.COUNTRY      0     0      0     0     0  
## Dim2.COUNTRY      0     0      0     0     0  
## Dim3.COUNTRY      0     0      0     0     0  
## Dim4.COUNTRY      0     0      0     0     0  
## Dim5.COUNTRY      0     0      0     0     0  
## ----------------------------------------------
## Separate analyses
res$separate.analyses$ROLES$eig[1:5]
## [1] 0.20023496 0.11659435 0.07508369 0.06777116 0.06356256
stargazer(res$separate.analyses$ROLES$var$contrib, type="text", digits=2)
## 
## ====================================================
##                      Dim 1 Dim 2 Dim 3 Dim 4  Dim 5 
## ----------------------------------------------------
## notDetachedObserver  0.85  0.38  20.01 12.23   0.24 
## DetachedObserver     0.21  0.09  4.84   2.96   0.06 
## notReportReality     1.41  1.57  25.18  8.87   1.42 
## ReportReality        0.09  0.10  1.57   0.55   0.09 
## notAnalysCurrAffairs 3.98  1.39  4.44   2.20  0.001 
## AnalysCurrAffairs    1.08  0.38  1.21   0.60  0.0002
## notMonPolLeaders     5.55  6.25  0.69   0.48   1.08 
## MonPolLeaders        4.62  5.19  0.57   0.40   0.89 
## notMonBusiness       3.74  4.98  0.51   0.30   0.77 
## MonBusiness          4.03  5.37  0.55   0.32   0.83 
## notSetPolAgenda      2.27  0.06  1.25   0.07   0.18 
## SetPolAgenda         6.53  0.18  3.60   0.21   0.53 
## notInflPublOpinion   3.30  1.56  0.01   0.95   5.35 
## InflPublOpinion      5.05  2.38  0.01   1.45   8.20 
## notAdvSocialChange   4.37  1.07  0.09   3.56   7.99 
## AdvSocialChange      4.54  1.11  0.09   3.69   8.30 
## notAdvGoverment      1.36  0.04  0.31   0.02   0.69 
## AdvGoverment         4.80  0.14  1.11   0.08   2.46 
## notSupNatDevelop     3.51  1.25  0.05   0.53   4.49 
## SupNatDevelop        4.92  1.75  0.07   0.75   6.29 
## notPosImagePolit     0.23  0.38  0.51   1.25   0.03 
## PosImagePolit        3.54  5.95  8.02  19.45   0.46 
## notSupGovPolicy      0.18  0.32  0.52   1.07   0.03 
## SupGovPolicy         3.28  5.92  9.64  19.59   0.62 
## notEntertainment     0.02  6.67  0.66  0.0001  1.85 
## Entertainment        0.03  12.30 1.22  0.0001  3.42 
## notLargeAudience     0.25  8.93  1.46   0.10   2.29 
## LargeAudience        0.27  9.70  1.58   0.10   2.49 
## notAdvDailyLife      0.96  4.34  1.36   1.51   6.95 
## AdvDailyLife         1.19  5.38  1.68   1.86   8.61 
## notInfoMakePolDec    5.16  2.53  0.02   1.36   7.36 
## InfoMakePolDec       3.96  1.94  0.02   1.05   5.65 
## notMotivPolPart      2.87  0.13  0.07   2.58   3.16 
## MotivPolPart         5.39  0.24  0.13   4.84   5.92 
## notLetPeopleExpr     4.38  0.01  4.69   3.40   0.87 
## LetPeopleExpr        2.10  0.005 2.25   1.63   0.42 
## ----------------------------------------------------
res$separate.analyses$INFLUENCES$eig[1:5]
## [1] 0.20968987 0.08789568 0.07308447 0.05963433 0.05229307
stargazer(res$separate.analyses$INFLUENCES$var$contrib, type="text", digits=2)
## 
## ====================================================
##                       Dim 1 Dim 2 Dim 3 Dim 4  Dim 5
## ----------------------------------------------------
## PersonalValues0       0.63  1.25  0.01   3.41  3.34 
## PersonalValues        0.46  0.92  0.01   2.50  2.45 
## PeersOnStaff0         0.66  0.38  0.33   2.82  3.77 
## PeersOnStaff          1.71  0.99  0.85   7.28  9.75 
## EditSupervis0         2.24  0.40  5.29  0.001  4.59 
## EditSupervis          2.63  0.47  6.20  0.002  5.37 
## Managers0             1.86  0.001 5.78   0.21  0.32 
## Managers              4.40  0.003 13.66  0.50  0.75 
## Owners0               1.57  0.01  4.65   0.34  0.02 
## Owners                4.54  0.02  13.46  1.00  0.06 
## EdPolicy0             1.95  0.91  1.97   1.25  1.75 
## EdPolicy              1.92  0.90  1.94   1.23  1.73 
## AdvertCons0           1.14  0.004 0.79   0.04  3.11 
## AdvertCons            4.84  0.02  3.34   0.16  13.19
## ProfitExp0            1.15  0.001 0.68  0.005  4.26 
## ProfitExp             4.28  0.003 2.54   0.02  15.81
## AudienceRes0          1.25  0.90  0.06   0.06  3.07 
## AudienceRes           2.75  1.98  0.14   0.14  6.72 
## AvailResour0          1.41  3.44  2.30   2.16  0.01 
## AvailResour           1.16  2.82  1.89   1.77  0.01 
## TimeLimits0           1.49  3.33  1.38   3.71  0.42 
## TimeLimits            0.87  1.95  0.80   2.17  0.24 
## JournEthics0          0.42  4.67  2.58   4.52  2.24 
## JournEthics           0.14  1.54  0.85   1.49  0.74 
## FriendsPeerFamily0    0.34  0.06  0.15   3.46  0.12 
## FriendsPeerFamily     2.00  0.32  0.85  20.13  0.70 
## ColleaguesOtherMedia0 0.34  0.02  0.20   2.12  0.01 
## ColleaguesOtherMedia  2.96  0.13  1.71  18.23  0.05 
## AudienceFeedb0        1.57  1.70  0.64   1.82  1.25 
## AudienceFeedb         2.66  2.87  1.08   3.07  2.10 
## CompetingNewsorg0     1.48  0.40  0.31   0.39  0.90 
## CompetingNewsorg      3.77  1.02  0.79   0.99  2.30 
## MediaLawsRegul0       1.28  2.34  1.73   1.73  0.05 
## MediaLawsRegul        1.44  2.63  1.95   1.95  0.06 
## InformAccess0         2.07  3.57  3.56   2.55  0.59 
## InformAccess          1.10  1.89  1.89   1.35  0.32 
## Censorshp0            0.78  0.20  0.01   0.28  0.02 
## Censorshp             4.37  1.10  0.07   1.57  0.13 
## GovOfficials0         0.38  1.01  0.25   0.09  0.21 
## GovOfficials          4.29  11.36 2.78   1.04  2.32 
## Politician0           0.44  1.35  0.22   0.09  0.25 
## Politician            4.61  14.28 2.33   0.98  2.65 
## PressureGroups0       0.34  0.92  0.16   0.01  0.02 
## PressureGroups        4.47  12.24 2.19   0.09  0.31 
## BusinessPeople0       0.43  0.85  0.06  0.0002 0.003
## BusinessPeople        4.77  9.38  0.68  0.002  0.04 
## PublRelat0            0.68  0.43  0.22   0.16  0.15 
## PublRelat             4.22  2.64  1.35   0.96  0.95 
## RelationshSources0    1.51  0.16  1.37   0.05  0.32 
## RelationshSources     2.17  0.23  1.96   0.08  0.46 
## ----------------------------------------------------
#stargazer(res$partial.axes$cor.between, type="text", digits=2)
res$group$RV
##                 ROLES INFLUENCES     WEIGHT    COUNTRY        MFA
## ROLES      1.00000000 0.07512058 0.02844237 0.06873431 0.76275974
## INFLUENCES 0.07512058 1.00000000 0.02204947 0.04799398 0.70215371
## WEIGHT     0.02844237 0.02204947 1.00000000 0.18898224 0.03460847
## COUNTRY    0.06873431 0.04799398 0.18898224 1.00000000 0.08020404
## MFA        0.76275974 0.70215371 0.03460847 0.08020404 1.00000000
res$group$correlation
##                Dim.1     Dim.2     Dim.3     Dim.4     Dim.5
## ROLES      0.7998574 0.8116950 0.7575925 0.7161664 0.5152433
## INFLUENCES 0.8242254 0.5246864 0.5142873 0.7952736 0.8654423
fviz_contrib(res, choice = "quali.var", axes = 1, top = 30, palette = "jco")

fviz_contrib(res, choice = "quali.var", axes = 2, top = 30, palette = "jco")

fviz_contrib(res, choice = "quali.var", axes = 3, top = 30, palette = "jco")

#MFA First dimension: Domination by elites (political, economic)
#MFA Second dimension: Political / interventionist role
#MFA Third dimension: Variant of second, emphasise goverment support (seems unstable)
# individuals, axes and groups
print(plot.MFA(res, axes=c(1, 2), choix="ind", new.plot=TRUE, lab.ind=FALSE,
   lab.par=FALSE, lab.var=FALSE, habillage="group", title=""))

print(plot.MFA(res, axes=c(1, 2), choix="axes", new.plot=TRUE, 
  habillage="group", title=""))

print(plot.MFA(res, axes=c(1, 2), choix="group", new.plot=TRUE, 
  lab.grpe=TRUE, title=""))

# active variables
fviz_mfa_var(res, "quali.var", palette = "jco", 
             col.var.sup = "violet", repel = TRUE, labelsize=3,
             geom = c("point", "text"), legend = "bottom") + ylab("2: NONPOLITICAL/NONMONITORAL ROLE --->") + 
    xlab("1: SUBJUGATION BY ELITES --->") 

fviz_mfa_var(res, "quali.var", palette = "jco", 
             col.var.sup = "violet", repel = TRUE, labelsize=3, axes = c(1,3), select.var=list(contrib=50), 
             geom = c("point", "text"), legend = "bottom") 

fviz_mfa_var(res, "quali.var", axes=c(1,2), col.var = "contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             col.var.sup = "violet", repel = TRUE,
             geom = c("point", "text"), select.var=list(contrib=30))

fviz_mfa_var(res, "quali.var", axes=c(1,3), col.var = "contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             col.var.sup = "violet", repel = TRUE,
             geom = c("point", "text"), select.var=list(contrib=30))

# COUNTRIES / SUPPLEMENTARY
fviz_mfa_ind(res, geom="pint", repel=TRUE) # pint is a typo, but it works

PCA ROLES AND INFLUENCES, EUROPE (equal country weight)

# https://f0nzie.github.io/machine_learning_compilation/detailed-study-of-principal-component-analysis.html
roleinflnum<-wjseuro[,c(38:55,75:86, 88:100,201,1)]
roleinflnum<-roleinflnum %>% filter(complete.cases(.)) 

x<-c(1:43) # convert factors to numeric
roleinflnum[x] = lapply(roleinflnum[x], FUN = function(y){as.numeric(y)})

res.pca<-PCA(roleinflnum, quanti.sup=44, quali.sup=45, scale.unit=TRUE, ncp=3, graph = FALSE, row.w = roleinflnum$nworldweight)

fviz_eig(res.pca)

head(res.pca$eig)
##        eigenvalue percentage of variance cumulative percentage of variance
## comp 1   7.629906              17.743969                          17.74397
## comp 2   4.355220              10.128418                          27.87239
## comp 3   2.655125               6.174709                          34.04710
## comp 4   2.497489               5.808114                          39.85521
## comp 5   1.912005               4.446523                          44.30173
## comp 6   1.663330               3.868209                          48.16994
fviz_pca_ind(res.pca, geom="point") # individuals

fviz_pca_var(res.pca, geom = c("point", "text"), col.var = "contrib", repel=TRUE) # active variables

fviz_pca_var(res.pca, geom = c("point", "text"), col.var = "contrib", repel=TRUE, axes=c(1,3)) # active variables

fviz_pca_var(res.pca, geom = c("point", "text"), col.var = "contrib", repel=TRUE, select.var=list(contrib=20), axes=c(1,2))

fviz_pca_var(res.pca, geom = c("point", "text"), col.var = "contrib", repel=TRUE, select.var=list(contrib=20), axes=c(1,3))

fviz_pca_var(res.pca, geom = c("point", "text"), col.var = "contrib", repel=TRUE, select.var=list(contrib=20), axes=c(3,2))

p<-fviz_pca_ind(res.pca, invisible = "ind")
p<-ggpar(p,ylim=c(-2,2), xlim=c(-2.2,2.2))
p<-fviz_add(p, res.pca$quali.sup$coord, labelsize = 4, pointsize = 1, repel = TRUE)
p

stargazer(res.pca$var$contrib, type="text", digits=2)
## 
## ================================================
##                               Dim.1 Dim.2  Dim.3
## ------------------------------------------------
## Detached.observer             0.03   1.53  3.28 
## Report.reality                0.07   2.79  4.56 
## Analyse.current.affairs       0.52   4.91  1.32 
## Monitor.political.leaders     0.98  12.02  0.06 
## Monitor.business              0.75   9.25  0.08 
## Set.political.agenda          1.54   7.72  0.50 
## Influence.public.opinion      2.48   2.47  0.01 
## Advocate.for.social.change    2.45   4.21  0.03 
## Adversary.government          1.30   4.50  1.09 
## Sup.national.development      2.93   2.99  0.07 
## Pos.image.politicians         2.42   0.79  2.41 
## Sup.gov.policy                2.56   0.81  1.52 
## Entertain                     0.64   1.88  0.88 
## Large.audience                1.33   0.93  1.08 
## Advice.for.daily.life         1.66   0.04  0.09 
## Info.people.pol.decisions     1.02   9.61  0.04 
## Motivate.pol.particip.        1.60   7.05  0.31 
## Let.people.express.themselves 1.45   4.01  1.98 
## Personal.values               0.82  0.0004 2.55 
## Peers.on.staff                1.54   1.27  1.46 
## Editorial.supervisors         2.85   1.84  0.51 
## Managers.of.news.org          4.39   1.30  0.08 
## Owners                        4.39   1.02  0.32 
## Editorial.policy              2.51   0.70  1.80 
## Advertising.considerations    4.10   1.96  0.01 
## Profit.expectations           3.67   2.26  0.01 
## Audience.research             2.87   1.15  3.20 
## Availability.of.resources     1.43   0.18  6.97 
## Time.limits                   1.32   0.14  4.99 
## Journalism.ethics             0.48   1.42  9.04 
## Friends.peers.family          1.67   0.95  0.28 
## Colleagues.other.media        2.42   1.48  0.24 
## Audience.feedback             3.02   1.26  4.40 
## Competing.newsorg             3.32   1.64  0.87 
## Media.laws.and.regul          2.28   0.04  4.64 
## Information.acceess           2.08   0.07  5.48 
## Censorship                    4.32   0.18  1.06 
## Government.officials          4.88   0.06  7.18 
## Politicians                   4.83   0.04  9.08 
## Pressure.groups               4.17   0.42  7.99 
## Business.people               4.56   0.83  6.60 
## Public.relations              3.92   2.01  1.50 
## Relationships.sources         2.43   0.22  0.44 
## ------------------------------------------------
stargazer(res.pca$quali.sup$v.test, type="text", digits=2)
## 
## ===================================
##                Dim.1  Dim.2  Dim.3 
## -----------------------------------
## Albania         4.94  -1.96   1.56 
## Austria        -10.44 -0.21   0.47 
## Belgium        -9.42  -3.24  -2.47 
## Bulgaria       10.53   1.94   4.02 
## Croatia        10.36  13.27  -1.41 
## Cyprus          4.90   5.68  -1.50 
## Czech Republic -0.58  -3.63  11.63 
## Denmark        -6.65   4.98  -7.87 
## Estonia         1.88   0.88   7.02 
## Finland        -4.41  -0.11   4.60 
## France         -9.30   0.87   2.39 
## Germany        -6.33  -6.36   4.62 
## Greece          1.27   5.37  -1.42 
## Hungary         9.13  -7.35  -0.11 
## Iceland        -9.43  -7.02   5.96 
## Ireland        -1.08  -2.75  -1.50 
## Italy          -10.36 -3.38  -0.83 
## Kosovo          8.25   7.43  -4.22 
## Latvia         -3.90   2.75   5.94 
## Moldova         6.27   2.80   6.05 
## Netherlands    -4.75  -5.85  -9.67 
## Norway         -6.40  -1.96  -4.48 
## Romania         6.98  -0.45  11.03 
## Russia          6.33  -8.17  -15.00
## Serbia          9.32   7.17  -3.41 
## Spain           9.75   7.45  -4.23 
## Sweden         -6.01   4.83  -1.37 
## Switzerland    -7.00  -0.77  -6.35 
## UK              0.80  -11.26  0.37 
## -----------------------------------
fviz_contrib(res.pca, choice = "var", axes = 1, top = 30, palette = "jco")

fviz_contrib(res.pca, choice = "var", axes = 2, top = 30, palette = "jco")

fviz_contrib(res.pca, choice = "var", axes = 3, top = 30, palette = "jco")