Analyse factorielle des correspondances (AFC) avec R et FactoMineR sur les données relatives à la propriété forestière (sources : https://agreste.agriculture.gouv.fr/agreste-web/download/publication/publie/ChdAgr196/ChdAgr196.pdf)

Pour aller plus loin :

Résumé des principales étapes du code R

1. Import des données

Avec mes fichiers exemples, préférez les paramètres nord-américains (“.” séparateur de décimales, “,” séparateur de miliers).

Salle C210, identifiant => “geographie2” !

setwd("D:/3VG/UP8/enseignement/add/proforest/R/AFC")
### setwd("D:/Users/geographie2/vgodard/ADD/proforest/R/AFC")
### respecter ce cheminement si "geographie2"
### getwd()

# Remove all objects
rm(list = ls() )

2. Lecture des données

propforafc <- read.table("PropFor19AFC.csv",
                      header=TRUE,
                      sep=";",
                      dec=".",### Si param. régio. non US, remplacer le "." par une ","
                      row.names=1,
                      check.names=FALSE,
                      fileEncoding="latin1",
                      stringsAsFactors = TRUE) # si stringsAsFactors = FALSE on perd les modalités

3. Khi-deux

Pour une (petite) table de contingence, il est possible de tester la significativité du lien de dépendance à l’aide d’un test du khi-deux.

# Calcul de la statistique du Chi-square (Khi-deux) sur les données numériques
chisq <- chisq.test(propforafc[,1:3])
chisq
## 
##  Pearson's Chi-squared test
## 
## data:  propforafc[, 1:3]
## X-squared = 4357630, df = 178, p-value < 2.2e-16

Au risque 5% (communément admis), on rejette l’hypothèse nulle d’indépendance entre les lignes et les colonnes.

Sur les grosses tables, il est pratiquement toujours significatif (p-value < 0.05)

4. Module AFC

Installer et exécuter préalablement les librairies “FactoMineR”, “factoextra”, puis les charger

### Avec la librairie FactoMineR et factoextra
## install.packages(c("FactoMineR", "factoextra")) ## si pas déjà installés !

library("FactoMineR")
library("factoextra")

L’AFC avec tous les éléments actifs (90 lignes et 3 variables numériques et 2 qualitatives)

- CA est le nom de l’AFC dans Factominer

- CA fonctionne a minima avec :

- Si le nom du département est en première colonne :

res.propforafc.ca <- CA(propforafc[,1:5], # indiquer ttes les colonnes utiles
                         col.sup = NULL,
                         row.sup = NULL,
                         quali.sup= 4:5, # à numéroter dans le [1:5] cf. supra
                         axes = 1:2,
                         ncp = 3,
                         graph = TRUE)

Le graphique avec la fonction Biplot (cf. infra) apporte un net gain de lisibilité.

5. Les sorties de la fonction CA

Si ce n’est déjà fait, installer le package “factoextra”, puis le charger.

## install.packages("factoextra")

library("factoextra")

Si on veut connaître tous les résultats possibles de la fonction CA dans Factominer et/ou factoextra :

### Listage des résultats

print(res.propforafc.ca)
## **Results of the Correspondence Analysis (CA)**
## The row variable has  90  categories; the column variable has 3 categories
## The chi square of independence between the two variables is equal to 4357630 (p-value =  0 ).
## *The results are available in the following objects:
## 
##    name               description                                
## 1  "$eig"             "eigenvalues"                              
## 2  "$col"             "results for the columns"                  
## 3  "$col$coord"       "coord. for the columns"                   
## 4  "$col$cos2"        "cos2 for the columns"                     
## 5  "$col$contrib"     "contributions of the columns"             
## 6  "$row"             "results for the rows"                     
## 7  "$row$coord"       "coord. for the rows"                      
## 8  "$row$cos2"        "cos2 for the rows"                        
## 9  "$row$contrib"     "contributions of the rows"                
## 10 "$quali.sup$coord" "coord. for supplementary categorical var."
## 11 "$quali.sup$cos2"  "cos2 for supplementary categorical var."  
## 12 "$call"            "summary called parameters"                
## 13 "$call$marge.col"  "weights of the columns"                   
## 14 "$call$marge.row"  "weights of the rows"

5.1. Les eigenvalues ou valeurs propres

Contrairement à l’ACP, une eigenvalue n’est jamais supérieure à 1 en AFC.

eig.val <- get_eigenvalue(res.propforafc.ca)
eig.val
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1 0.21308955         73.61436                    73.61436
## Dim.2 0.07637782         26.38564                   100.00000

Il est aussi possible d’apprécier les ruptures dans la succession des eigenvalues. Sur cet exemple à “deux” dimensions, on pourrait s’en passer.

 # Visualisation des eigenvalues
fviz_eig(res.propforafc.ca, addlabels = TRUE, ylim = c(0, 80)) # calibrer le ylim avec la lecture du tableau précédent

Il n’y a pas de règles pour choisir le nombre d’axes. Eventuellement, retenir les axes qui ont une eigenvalues d’une valeur supérieure à :

 # Visualisation des eigenvalues
sp <- fviz_eig(res.propforafc.ca,addlabels = TRUE, ylim = c(0, 80)) # calibrer le ylim avec la lecture du tableau précédent
         
sp + geom_hline (yintercept = 50, linetype = 2, color = "red") # tracer le yintercept avec la valeur de la *eigenvalues* moyenne 

Liste des paramètres les plus utiles :

get_ca_row(res.propforafc.ca)
## Correspondence Analysis - Results for rows
##  ===================================================
##   Name       Description                
## 1 "$coord"   "Coordinates for the rows" 
## 2 "$cos2"    "Cos2 for the rows"        
## 3 "$contrib" "contributions of the rows"
## 4 "$inertia" "Inertia of the rows"

5.2. Coordonnées des variables et des individus sur les axes

Interprétation des coordonnées des variables sur les axes factoriels (les colonnes : col).

res.propforafc.ca$col$coord ### [toutes les lignes ; colonnes 1 à 3, cf résultats *eigenvalue*]
##               Dim 1       Dim 2
## ForDom    0.3788147  0.79595617
## ForColec  0.9533836 -0.25859097
## ForPriv  -0.2622671 -0.05121829

Valeur des coordonnées des variables qualitatives supplémentaires (les categorical var.).

Ici, coordonnées de chaque modalité de chaque variable sur les Dim 1 et 2 !

res.propforafc.ca$quali.sup$coord  ## coord. for the supplementary categorical var.
##               Dim 1       Dim 2
## Reg.ARA -0.06425977 -0.14662522
## Reg.BFC  0.44985635 -0.18552282
## Reg.BRE -0.43945004 -0.01783238
## Reg.COR -0.06497051 -0.03458942
## Reg.CVL -0.35751448  0.15886383
## Reg.GES  0.73611100  0.16784893
## Reg.HDF -0.10547181  0.54174539
## Reg.IDF -0.09076083  0.56126957
## Reg.NAQ -0.39858770 -0.12701048
## Reg.NOR -0.21064109  0.45701573
## Reg.OCC -0.13134602  0.01494341
## Reg.PAC  0.16187044 -0.03780487
## Reg.PDL -0.40831404  0.09595140
## Nu2.ALS  1.09602245  0.18218250
## Nu2.AQU -0.37241165 -0.14829444
## Nu2.AUV -0.24165088 -0.11306994
## Nu2.BNO -0.27682510  0.33720078
## Nu2.BOU  0.16627791 -0.03046597
## Nu2.BRE -0.43945004 -0.01783238
## Nu2.CAR  0.36219594  0.02831996
## Nu2.COR -0.06497051 -0.03458942
## Nu2.CVL -0.35751448  0.15886383
## Nu2.FCO  0.84257017 -0.40025342
## Nu2.HNO -0.16145569  0.54605759
## Nu2.IDF -0.09076083  0.56126957
## Nu2.LIM -0.45257522 -0.16661358
## Nu2.LOR  0.89650993  0.27284936
## Nu2.LRO -0.05913797  0.12595419
## Nu2.MPY -0.18823469 -0.07251575
## Nu2.NPC -0.02387273  0.78016540
## Nu2.PAC  0.16187044 -0.03780487
## Nu2.PCA -0.43913246  0.03361584
## Nu2.PIC -0.13000225  0.47007122
## Nu2.PLO -0.40831404  0.09595140
## Nu2.RAL  0.01833682 -0.16224918

Interprétation des coordonnées des individus sur les axes factoriels

res.propforafc.ca$row$coord ### [ligne 1 à 90 ; colonnes 1 à 3, mais 2 dimensions !]
##           Dim 1         Dim 2
## 1    0.27000978 -0.3651150396
## 2   -0.09730394  0.5303038612
## 3   -0.24143262  0.4384017806
## 4    0.15909639  0.2668991020
## 6    0.24711687 -0.2012258298
## 7   -0.36513081 -0.0856203392
## 8    0.41508832  0.2297688268
## 9    0.04557872  0.2296836787
## 10   0.17976530 -0.0272338569
## 11   0.01300835  0.1009893888
## 12  -0.41593388 -0.0781763511
## 67   1.02232297  0.4726054580
## 13   0.13692635 -0.3353017510
## 14  -0.40846655  0.0632396504
## 15  -0.14331648 -0.2632438534
## 16  -0.48412785 -0.0500199110
## 17  -0.40476522  0.0447568012
## 18  -0.31200243  0.0705183936
## 19  -0.45250710 -0.1927588505
## 201 -0.05231781 -0.0964064124
## 21   0.58342512 -0.0060427238
## 22  -0.45526116 -0.0685109716
## 23  -0.41380418 -0.0970576088
## 79  -0.34470013  0.2871844532
## 24  -0.55476310 -0.1706621775
## 25   0.87911537 -0.5025465500
## 26  -0.03712746  0.1410838583
## 27  -0.35605303  0.1174954400
## 28  -0.36197735  0.2477565039
## 29  -0.43136398 -0.0148793158
## 30   0.02004167  0.0193455386
## 32  -0.46501314 -0.1498879778
## 33  -0.44590765 -0.0668468785
## 202 -0.08100265  0.0437384188
## 31   0.11575755 -0.0290626801
## 43  -0.33110048 -0.1869270225
## 51   0.70556348 -0.1066133361
## 5    0.61931687 -0.0321498001
## 70   0.92371885 -0.4895422142
## 74   0.18533470 -0.3215900623
## 65   0.63100371 -0.3806022542
## 87  -0.49588953 -0.1975316476
## 68   1.18580731 -0.1716270844
## 34  -0.21368911  0.1243046672
## 110 -0.06688108  0.5968558854
## 35  -0.30164595  0.2759232022
## 36  -0.38665239  0.1237780058
## 37  -0.39333526 -0.0318386941
## 38   0.12765938 -0.1094770984
## 39   0.72704446 -0.2012704926
## 40  -0.39397605 -0.0983170365
## 42  -0.43497788 -0.2232729810
## 44  -0.44443640  0.0497394349
## 45  -0.24530941  0.5082886044
## 41  -0.44285423  0.0756725856
## 46  -0.55206859 -0.1832511011
## 47  -0.51738338 -0.1576450752
## 48  -0.16235910  0.1174453605
## 49  -0.46581948 -0.0718635326
## 50  -0.44123232 -0.1369764920
## 52  -0.13497148  0.1063989996
## 53  -0.51100353 -0.1294417491
## 54   0.95584899  0.0944268316
## 55   0.93937674  0.1516444482
## 56  -0.50225325 -0.1297588123
## 57   0.75422933  0.9171730698
## 58  -0.05225178  0.0351200180
## 59   0.19981061  1.2255552263
## 60  -0.02699250  0.5894864006
## 61  -0.16877185  0.5983407569
## 62  -0.23747780  0.3548430372
## 63  -0.23529601 -0.2354773992
## 64   0.28601125 -0.4236414950
## 66   0.11868874  0.3380548124
## 69  -0.46158103 -0.2146174341
## 71  -0.01977985 -0.0678079944
## 72  -0.36383445  0.2123329968
## 73   0.54022845 -0.3839709076
## 77  -0.11541800  0.5245247114
## 76   0.08573467  1.0904454710
## 80  -0.42840924  0.0746958323
## 81  -0.25848494 -0.0150028039
## 82  -0.53000855 -0.1215728940
## 90   0.82767767 -0.4797059214
## 83  -0.16265676 -0.0875467617
## 84   0.23839893 -0.1839365828
## 85  -0.24435814  0.4454207688
## 86  -0.46442918  0.0009657382
## 88   0.91515870  0.0779918896
## 89  -0.04781596 -0.0995274406

5.3. Contribution des variables et des individus sur les axes

Interprétation des contributions des variables sur les axes factoriels.

Rappel :

  • La somme en colonnes est égale à 100 ;

  • Une variable est considérée comme contributive si elle est supérieure à 100 / nb de variables (ici 30)

  • Un individu est considéré comme contributif s’il est supérieur à 100 / nb d’individus (ici 90)

res.propforafc.ca$col$contrib ### [toutes les lignes ; colonnes toutes, cf résultats *eigenvalue*]
##              Dim 1     Dim 2
## ForDom    6.755682 83.212544
## ForColec 69.459454 14.256655
## ForPriv  23.784865  2.530801

Interprétation des contributions des individus sur les axes factoriels.

res.propforafc.ca$row$contrib ### [ligne toutes ; colonnes toutes] faire un copier-coller pour rechercher les plus contributifs dans un tableur.
##            Dim 1        Dim 2
## 1   0.4076775815 2.079755e+00
## 2   0.0364194459 3.017984e+00
## 3   0.2237362511 2.058183e+00
## 4   0.2711912830 2.129336e+00
## 6   0.4278790103 7.915503e-01
## 7   1.0496338369 1.610236e-01
## 8   0.8004661651 6.842882e-01
## 9   0.0130230565 9.226646e-01
## 10  0.1361519510 8.718171e-03
## 11  0.0009530193 1.602521e-01
## 12  1.3262398667 1.307131e-01
## 67  5.6623671837 3.376091e+00
## 13  0.0635056738 1.062441e+00
## 14  0.2380166822 1.591726e-02
## 15  0.0977830136 9.204126e-01
## 16  0.8598495703 2.560844e-02
## 17  0.5257675425 1.793496e-02
## 18  0.5214035625 7.431180e-02
## 19  1.7054564868 8.634027e-01
## 201 0.0191625501 1.815352e-01
## 21  3.3740873091 1.009826e-03
## 22  0.5353669795 3.382560e-02
## 23  0.8919969996 1.369077e-01
## 79  0.1807891238 3.501113e-01
## 24  3.8071010240 1.005191e+00
## 25  5.2520243341 4.788312e+00
## 26  0.0122409637 4.931450e-01
## 27  0.4994777370 1.517483e-01
## 28  0.2900014383 3.790377e-01
## 29  0.4337125527 1.439710e-03
## 30  0.0027205630 7.072088e-03
## 32  0.5724661096 1.659388e-01
## 33  2.9951864823 1.877981e-01
## 202 0.0362530272 2.948947e-02
## 31  0.0523764132 9.210926e-03
## 43  0.6366713897 5.661543e-01
## 51  3.8083441522 2.425951e-01
## 5   2.3145436670 1.740167e-02
## 70  5.9623808778 4.672134e+00
## 74  0.1912672437 1.606672e+00
## 65  1.6323712893 1.656886e+00
## 87  1.1498415063 5.090218e-01
## 68  6.2533306640 3.654683e-01
## 34  0.2892001198 2.730257e-01
## 110 0.0197355039 4.385060e+00
## 35  0.1602492714 3.740868e-01
## 36  0.5500809809 1.572777e-01
## 37  0.7241496636 1.323756e-02
## 38  0.1291426807 2.649755e-01
## 39  3.6755600351 7.858808e-01
## 40  2.7926678689 4.852126e-01
## 42  0.7474269150 5.494164e-01
## 44  0.3434962669 1.200326e-02
## 45  0.3154191075 3.778116e+00
## 41  1.2574044281 1.024296e-01
## 46  2.0420110990 6.277115e-01
## 47  1.0742814270 2.782588e-01
## 48  0.1908921834 2.786772e-01
## 49  0.5691397121 3.779163e-02
## 50  0.1597028771 4.294030e-02
## 52  0.0770910671 1.336565e-01
## 53  0.2895249794 5.183008e-02
## 54  4.6424783303 1.264029e-01
## 55  6.1664277313 4.483343e-01
## 56  0.8864860696 1.650802e-01
## 57  3.0571689729 1.261276e+01
## 58  0.0192570569 2.427125e-02
## 59  0.0550758837 5.780761e+00
## 60  0.0027764670 3.694443e+00
## 61  0.0850567847 2.982641e+00
## 62  0.0814690214 5.074742e-01
## 63  0.4400264557 1.229541e+00
## 64  0.5382889342 3.294891e+00
## 66  0.0620824346 1.405138e+00
## 69  0.4662337824 2.812113e-01
## 71  0.0022768455 7.465249e-02
## 72  0.4439803142 4.218771e-01
## 73  1.7609476303 2.481893e+00
## 77  0.0569213447 3.279856e+00
## 76  0.0227984390 1.028952e+01
## 80  0.3187894617 2.703796e-02
## 81  0.3423331254 3.217497e-03
## 82  0.6055168408 8.888508e-02
## 90  0.5564331284 5.214775e-01
## 83  0.2900755717 2.344456e-01
## 84  0.2336097349 3.879837e-01
## 85  0.0649439237 6.020336e-01
## 86  0.7580359820 9.144596e-06
## 88  7.3459627486 1.488503e-01
## 89  0.0161352175 1.950337e-01

5.4. Qualité de la représentation (COS2) des variables et des individus sur les axes

Interprétation des COS2 des variables sur les axes factoriels.

res.propforafc.ca$col$cos2 ### [toutes les lignes ; colonnes toutes, cf résultats *eigenvalue*] pour rechercher les mieux représentées dans un tableur.
##              Dim 1      Dim 2
## ForDom   0.1846743 0.81532572
## ForColec 0.9314730 0.06852699
## ForPriv  0.9632627 0.03673730

Interprétation du degré d’association entre les colonnes et un axe particulier des variables qualitatives supplémentaires.

Rappel : La somme en lignes est égale à 1 !

res.propforafc.ca$quali.sup$cos2 ##  "cos2 for supplementary categorical var." [toutes les lignes ; colonnes toutes, cf résultats *eigenvalue*] en faire un copier-coller pour rechercher les mieux représentées dans un tableur.
##                Dim 1       Dim 2
## Reg.ARA 0.1611235272 0.838876473
## Reg.BFC 0.8546442134 0.145355787
## Reg.BRE 0.9983560635 0.001643937
## Reg.COR 0.7791587840 0.220841216
## Reg.CVL 0.8351061578 0.164893842
## Reg.GES 0.9505760543 0.049423946
## Reg.HDF 0.0365195386 0.963480461
## Reg.IDF 0.0254825865 0.974517413
## Reg.NAQ 0.9078210831 0.092178917
## Reg.NOR 0.1752127940 0.824787206
## Reg.OCC 0.9872214848 0.012778515
## Reg.PAC 0.9482756610 0.051724339
## Reg.PDL 0.9476676661 0.052332334
## Nu2.ALS 0.9731132813 0.026886719
## Nu2.AQU 0.8631378448 0.136862155
## Nu2.AUV 0.8203874786 0.179612521
## Nu2.BNO 0.4026139660 0.597386034
## Nu2.BOU 0.9675196502 0.032480350
## Nu2.BRE 0.9983560635 0.001643937
## Nu2.CAR 0.9939235328 0.006076467
## Nu2.COR 0.7791587840 0.220841216
## Nu2.CVL 0.8351061578 0.164893842
## Nu2.FCO 0.8158857883 0.184114212
## Nu2.HNO 0.0803953545 0.919604646
## Nu2.IDF 0.0254825865 0.974517413
## Nu2.LIM 0.8806451159 0.119354884
## Nu2.LOR 0.9152257589 0.084774241
## Nu2.LRO 0.1806292420 0.819370758
## Nu2.MPY 0.8707685939 0.129231406
## Nu2.NPC 0.0009354582 0.999064542
## Nu2.PAC 0.9482756610 0.051724339
## Nu2.PCA 0.9941741492 0.005825851
## Nu2.PIC 0.0710504086 0.928949591
## Nu2.PLO 0.9476676661 0.052332334
## Nu2.RAL 0.0126116220 0.987388378

Interprétation des qualités de représentation des individus sur les axes factoriels.

res.propforafc.ca$row$cos2 ### [ligne toutes ; colonnes toutes] en faire un copier-coller pour rechercher les mieux représentés dans un tableur.
##           Dim 1        Dim 2
## 1   0.353541391 6.464586e-01
## 2   0.032570948 9.674291e-01
## 3   0.232706610 7.672934e-01
## 4   0.262169885 7.378301e-01
## 6   0.601295794 3.987042e-01
## 7   0.947879332 5.212067e-02
## 8   0.765457203 2.345428e-01
## 9   0.037886986 9.621130e-01
## 10  0.977563679 2.243632e-02
## 11  0.016320978 9.836790e-01
## 12  0.965878759 3.412124e-02
## 67  0.823921255 1.760787e-01
## 13  0.142928677 8.570713e-01
## 14  0.976591222 2.340878e-02
## 15  0.228632154 7.713678e-01
## 16  0.989437805 1.056220e-02
## 17  0.987920919 1.207908e-02
## 18  0.951398324 4.860168e-02
## 19  0.846411283 1.535887e-01
## 201 0.227501761 7.724982e-01
## 21  0.999892737 1.072627e-04
## 22  0.977855109 2.214489e-02
## 23  0.947855151 5.214485e-02
## 79  0.590274502 4.097255e-01
## 24  0.913545134 8.645487e-02
## 25  0.753702160 2.462978e-01
## 26  0.064767262 9.352327e-01
## 27  0.901797674 9.820233e-02
## 28  0.680978114 3.190219e-01
## 29  0.998811602 1.188398e-03
## 30  0.517668449 4.823316e-01
## 32  0.905881588 9.411841e-02
## 33  0.978020373 2.197963e-02
## 202 0.774257567 2.257424e-01
## 31  0.940703969 5.929603e-02
## 43  0.758304653 2.416953e-01
## 51  0.977677315 2.232268e-02
## 5   0.997312417 2.687583e-03
## 70  0.780721197 2.192788e-01
## 74  0.249322573 7.506774e-01
## 65  0.733238049 2.667620e-01
## 87  0.863056148 1.369439e-01
## 68  0.979481776 2.051822e-02
## 34  0.747169605 2.528304e-01
## 110 0.012400762 9.875992e-01
## 35  0.544448062 4.555519e-01
## 36  0.907044681 9.295532e-02
## 37  0.993490488 6.509512e-03
## 38  0.576226213 4.237738e-01
## 39  0.928818196 7.118180e-02
## 40  0.941375289 5.862471e-02
## 42  0.791468515 2.085315e-01
## 44  0.987629802 1.237020e-02
## 45  0.188917676 8.110823e-01
## 41  0.971630183 2.836982e-02
## 46  0.900753939 9.924606e-02
## 47  0.915046902 8.495310e-02
## 48  0.656486271 3.435137e-01
## 49  0.976753017 2.324698e-02
## 50  0.912097966 8.790203e-02
## 52  0.616740160 3.832598e-01
## 53  0.939703541 6.029646e-02
## 54  0.990335165 9.664835e-03
## 55  0.974601931 2.539807e-02
## 56  0.937429878 6.257012e-02
## 57  0.403428597 5.965714e-01
## 58  0.688819305 3.111807e-01
## 59  0.025892746 9.741073e-01
## 60  0.002092324 9.979077e-01
## 61  0.073697957 9.263020e-01
## 62  0.309340833 6.906592e-01
## 63  0.499614699 5.003853e-01
## 64  0.313089946 6.869101e-01
## 66  0.109739256 8.902607e-01
## 69  0.822240455 1.777595e-01
## 71  0.078418391 9.215816e-01
## 72  0.745942202 2.540578e-01
## 73  0.664374629 3.356254e-01
## 77  0.046182811 9.538172e-01
## 76  0.006143681 9.938563e-01
## 80  0.970496795 2.950321e-02
## 81  0.996642517 3.357483e-03
## 82  0.950015162 4.998484e-02
## 90  0.748551364 2.514486e-01
## 83  0.775379147 2.246209e-01
## 84  0.626845789 3.731542e-01
## 85  0.231338464 7.686615e-01
## 86  0.999995676 4.323923e-06
## 88  0.992789535 7.210465e-03
## 89  0.187528804 8.124712e-01

6. Aide à l’interprétation de l’AFC

6.1. Graphiques de la contribution

  • des variables
          fviz_ca_col(res.propforafc.ca,
                  col.col = "contrib",
                  axes = 1:2,
                  gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))

  • des individus
          fviz_ca_row(res.propforafc.ca,
                      col.row = "contrib",
                      axes = 1:2,
                      gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))

6.2. Graphiques de la qualité

  • des variables (ici pas très intéressant car 100% sur les deux seuls axes)

– il semblerait que dans “fviz_ca”, il ne soit pas possible de représenter les “quali.sup”

          fviz_ca_col(res.propforafc.ca,
                  col.col = "cos2",
                  axes = 1:2,
                  gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))

  • des filtrages sont possibles

– en fonction du Cos2 (ici pas très intéressant car 100% sur les deux seuls axes)

          ## Lignes avec un cos2 > 0.8
          fviz_ca_row(res.propforafc.ca,
                      select.row = list(cos2 = 0.8),
                      col.row = "cos2",
                      axes = 1:2,
                      gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))

– en fonction des contributions (intéressant pour les individus les plus contributifs)

          ## Top 5 des contributions lignes et colonnes
          fviz_ca_biplot(res.propforafc.ca,
                      select.row = list(contrib = 5), 
                      #select.col = list(contrib = 5), # si on veut toutes les variables
                      arrow = c (TRUE, TRUE), # pour mieux voir la proximité avec les axes
                      axes = 1:2,
                      repel = TRUE, # pour éviter les chevauchements dans biplot
                      )

Il est possible de faire des Biplots asymétriques, où les coordonnées sont pondérées par le poids de la valeur propre (en fait la racine carrée de la valeur propre eigenvalue). - Voir : Biplot asymétrique in : http://www.sthda.com/french/articles/38-methodes-des-composantes-principales-dans-r-guide-pratique/74-afc-analyse-factorielle-des-correspondances-avec-r-l-essentiel/#r-code-to-comput-ca

6.3. Aide à la description et à l’interprétation

Identification des variables les plus remarquables (moins efficace que dans PCA car pas significatives en l’absence de test) par composante. Simple tri ds coordonnées.

### fonction dimdesc() [in FactoMineR]

res.desc <- dimdesc(res.propforafc.ca, axes = c(1,2))
  • Aide sur l’axe 1

– Pour les lignes (pour nous, les individus)

### Description de la dimension 1 pour 4 lignes
head(res.desc[[1]]$row, 4)
##         coord
## 24 -0.5547631
## 46 -0.5520686
## 82 -0.5300086
## 47 -0.5173834

– Pour les colonnes (pour nous, les variables)

### Description de la dimension 1 pour 4 colonnes

head(res.desc[[1]]$col, 4)
##               coord
## ForPriv  -0.2622671
## ForDom    0.3788147
## ForColec  0.9533836
  • Aide sur l’axe 2

– Pour les lignes (pour nous, les individus)

### Description de la dimension 2 pour toutes les lignes
res.desc[[2]]$row
##             coord
## 25  -0.5025465500
## 70  -0.4895422142
## 90  -0.4797059214
## 64  -0.4236414950
## 73  -0.3839709076
## 65  -0.3806022542
## 1   -0.3651150396
## 13  -0.3353017510
## 74  -0.3215900623
## 15  -0.2632438534
## 63  -0.2354773992
## 42  -0.2232729810
## 69  -0.2146174341
## 39  -0.2012704926
## 6   -0.2012258298
## 87  -0.1975316476
## 19  -0.1927588505
## 43  -0.1869270225
## 84  -0.1839365828
## 46  -0.1832511011
## 68  -0.1716270844
## 24  -0.1706621775
## 47  -0.1576450752
## 32  -0.1498879778
## 50  -0.1369764920
## 56  -0.1297588123
## 53  -0.1294417491
## 82  -0.1215728940
## 38  -0.1094770984
## 51  -0.1066133361
## 89  -0.0995274406
## 40  -0.0983170365
## 23  -0.0970576088
## 201 -0.0964064124
## 83  -0.0875467617
## 7   -0.0856203392
## 12  -0.0781763511
## 49  -0.0718635326
## 22  -0.0685109716
## 71  -0.0678079944
## 33  -0.0668468785
## 16  -0.0500199110
## 5   -0.0321498001
## 37  -0.0318386941
## 31  -0.0290626801
## 10  -0.0272338569
## 81  -0.0150028039
## 29  -0.0148793158
## 21  -0.0060427238
## 86   0.0009657382
## 30   0.0193455386
## 58   0.0351200180
## 202  0.0437384188
## 17   0.0447568012
## 44   0.0497394349
## 14   0.0632396504
## 18   0.0705183936
## 80   0.0746958323
## 41   0.0756725856
## 88   0.0779918896
## 54   0.0944268316
## 11   0.1009893888
## 52   0.1063989996
## 48   0.1174453605
## 27   0.1174954400
## 36   0.1237780058
## 34   0.1243046672
## 26   0.1410838583
## 55   0.1516444482
## 72   0.2123329968
## 9    0.2296836787
## 8    0.2297688268
## 28   0.2477565039
## 4    0.2668991020
## 35   0.2759232022
## 79   0.2871844532
## 66   0.3380548124
## 62   0.3548430372
## 3    0.4384017806
## 85   0.4454207688
## 67   0.4726054580
## 45   0.5082886044
## 77   0.5245247114
## 2    0.5303038612
## 60   0.5894864006
## 110  0.5968558854
## 61   0.5983407569
## 57   0.9171730698
## 76   1.0904454710
## 59   1.2255552263

– Pour les colonnes (pour nous, les variables)

### Description de la dimension 2 pour toutes les colonnes

res.desc[[2]]$col
##                coord
## ForColec -0.25859097
## ForPriv  -0.05121829
## ForDom    0.79595617

6.4. Export des résultats de l’AFC

  • Exporter des pdf ou des png

– En premier, création des graphes

# Scree plot
scree.plot <- fviz_eig(res.propforafc.ca)

# Biplot of row and column variables
biplot.ca <- fviz_ca_biplot(res.propforafc.ca)

– En second, export des graphes

library(ggpubr)

## Export d'un pdf (un graphe par page)
ggexport(plotlist = list(scree.plot, biplot.ca), 
         filename = "res.propforafc.ca.pdf")

## Export d'un png par graphe
ggexport(plotlist = list(scree.plot, biplot.ca), 
         filename = "res.propforafc.ca.png")
## [1] "res.propforafc.ca%03d.png"
  • Exporter les résultats en txt ou csv

A l’aide de write.table() [package FactoMineR] ou write.infile.

# Export into a TXT file de la qualité de représentation des variables
write.table(res.propforafc.ca$col$cos2, "res.propforafc.ca$col$cos2_v2.txt", sep = "\t")

# Export into a CSV file de la qualité de représentation des variables
write.table(res.propforafc.ca$col$cos2, file="res.propforafc.ca$col$cos2_v2.csv", col.names=TRUE, sep = ";")

# Export into a CSV file de la qualité de représentation des variables qualitatives suplémentaires
write.table(res.propforafc.ca$quali.sup$cos2, file="res.propforafc.ca$quali.sup$cos2_v2.csv", col.names=TRUE, sep = ";")

# Export into a CSV file des contributions des individus
write.table(res.propforafc.ca$row$contrib, file="res.propforafc.ca$row$contrib_v2.csv", col.names=TRUE, sep = ";")

7. Classification ascendante hiérarchique (CAH)

Si ce n’est déjà fait, installer le package “FactoMineR”, puis le charger.

library(FactoMineR)

7.1. Détermination du nombre de classes de la CAH

Ne se calcule que sur les variables numériques actives

propforafc.num <- subset(propforafc[,1:3]) ## (extraction dans le tableau de départ) 

head(propforafc.num)
##      ForDom  ForColec   ForPriv
## 1  3059.385 55477.877 120841.38
## 2 30295.676  6084.930  87010.93
## 3 25500.688  1827.748  95799.72
## 4 65482.937 60379.231 217828.68
## 6 14052.844 62171.788 148540.57
## 7 11496.541 13407.062 227650.11

Si ce n’est déjà fait, installer le package “factoextra”, puis le charger.

library("factoextra")

Essai avec la méthode “silhouette” pour déterminer le nombre optimal de clusters

(On lira avec intérêt à ce sujet : https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/)

fviz_nbclust(propforafc.num, kmeans, method = "silhouette") ## tester les autres méthodes pour voir...

7.2. Partition de la CAH

Utilisation des sauts d’inertie calculés à la section 7.1 pour indiquer le nombre de classes retenu.

Avec FactoMiner, c’est “HCPC” la Classification ascendante hiérarchique (CAH)

res.propforafc.ca.hcpc <- HCPC(res.propforafc.ca, graph = TRUE, nb.clust = 2) ## nb.clust = 2 en fonction du résultat du 7.1

7.3. Exploitation des résultats de la CAH

Affichage du nom des 5 colonnes résultats d’HCPC

names(res.propforafc.ca.hcpc) # Nommage des 5 colonnes résultats d’HCPC
## [1] "data.clust" "desc.var"   "desc.axes"  "desc.ind"   "call"

Résumé des 5 colonnes résultats d’HCPC

summary(res.propforafc.ca.hcpc)
##            Length Class      Mode
## data.clust 6      data.frame list
## desc.var   4      -none-     list
## desc.axes  3      catdes     list
## desc.ind   2      -none-     list
## call       8      -none-     list

Listage des résultats

#print(res.propforafc.ca.hcpc) # Intéressant à exporter pas à afficher (sauf contrôle)

Affectation des départements à chacune des classes (pour la cartographier les partitions par exemple)

res.propforafc.ca.hcpc$data.clust # affectation individus => cluster
##          ForDom    ForColec   ForPriv Reg Nu2 clust
## 24   2118.76675    899.7839 393800.18 NAQ AQU     1
## 46    413.50598   1094.3538 213416.14 OCC MPY     1
## 82   1490.83166    215.2723  67440.90 OCC MPY     1
## 47   1567.71186   1654.9818 125515.09 NAQ AQU     1
## 53    741.62774    380.7074  34444.98 PDL PLO     1
## 56   2421.45360   1543.8371 108764.66 BRE BRE     1
## 87    363.41548   3924.1297 145708.91 NAQ LIM     1
## 16   5414.70032    899.2582 111369.45 NAQ PCA     1
## 49   3467.09249   1441.0390  79230.70 PDL PLO     1
## 32   1590.63875   2487.1259  80846.59 OCC MPY     1
## 86   7030.61420    732.5372 104973.13 NAQ PCA     1
## 69     21.81248   2829.1779  67346.36 ARA RAL     1
## 22   3566.66480   1671.0320  77621.99 BRE BRE     1
## 19   1969.96423  10693.6861 254515.61 NAQ LIM     1
## 33  21404.54385  11142.7062 450674.99 NAQ AQU     1
## 44   4356.85331    323.0046  51104.92 PDL PLO     1
## 41  17630.68041    487.6316 187549.48 CVL CVL     1
## 50    642.54715    929.3382  24742.36 NOR BNO     1
## 42      0.00000   6408.1372 120312.48 ARA RAL     1
## 29   4524.13528   1497.8162  68748.01 BRE BRE     1
## 80   4826.94853    411.0822  50480.44 HDF PIC     1
## 12  10694.78683   8574.0982 226646.89 OCC MPY     1
## 23   6384.99167   6426.6658 154292.23 NAQ LIM     1
## 14   3888.08902    724.4337  41149.72 NOR BNO     1
## 17   8228.03080   2047.6911  92668.10 NAQ PCA     1
## 40  22785.01889  26156.3658 528213.73 NAQ AQU     1
## 37   8819.32259   5316.0819 136011.19 CVL CVL     1
## 36  12304.74252   1645.6903 104081.12 CVL CVL     1
## 7   11496.54062  13407.0615 227650.11 ARA RAL     1
## 72  14170.98096    874.0580  92544.24 PDL PLO     1
## 28  10089.00188    237.9346  60671.74 CVL CVL     1
## 27  13264.66976   3183.7998 109937.73 NOR HNO     1
## 79   7561.30090    153.9615  41094.01 NAQ PCA     1
## 43   3549.49386  14897.6221 167851.07 ARA AUV     1
## 18  16324.01071   8103.5921 147391.30 CVL CVL     1
## 35   8768.44190   1093.1824  46633.89 BRE BRE     1
## 81  12278.16554  12851.6192 139228.39 OCC MPY     1
## 45  38164.49273    486.2765 129489.79 CVL CVL     1
## 85   7288.25814    446.2721  27155.21 PDL PLO     1
## 3   25500.68782   1827.7480  95799.72 ARA AUV     1
## 62   8493.73955   1339.5068  36507.11 HDF NPC     1
## 63   3292.06091  30488.5569 221173.81 ARA AUV     1
## 34  24103.50888  14634.4058 164426.00 OCC LRO     1
## 61  24838.32232   1428.4112  69523.64 NOR BNO     1
## 83  21676.67800  42723.2586 287306.11 PAC PAC     1
## 48  28081.38559  20986.0567 183231.78 OCC LRO     1
## 15   1903.14961  23632.6211 127180.06 ARA AUV     1
## 52  16282.63239  13742.3722 105722.84 GES CAR     1
## 77  33220.69167   6045.1136  97803.72 IDF IDF     1
## 2   30295.67592   6084.9303  87010.93 HDF PIC     1
## 202 18838.07167  22851.8137 135548.90 COR COR     1
## 110 37825.51055   6992.4387  96714.02 IDF IDF     1
## 201 15306.48170  35917.3703 173354.09 COR COR     1
## 58  24020.09452  31656.6103 170579.60 BFC BOU     1
## 89  15309.20708  36656.3149 174416.55 BFC BOU     1
## 26  39318.04194  36706.4899 208839.76 ARA RAL     1
## 60  32811.16783   7816.5380  81613.98 HDF PIC     1
## 71  14766.11822  31085.8329 140829.22 BFC BOU     1
## 11  23588.66463  27429.4955 129645.31 OCC LRO     1
## 30  23369.14365  36204.4018 157698.57 OCC LRO     1
## 9   34272.84988  28791.1336 138031.16 OCC MPY     1
## 76  42030.17168   2539.7231  54925.97 NOR HNO     1
## 31  12720.48750  25854.3911  86811.39 OCC MPY     1
## 66  29371.48890  21382.1282  90618.12 OCC LRO     1
## 38  20131.84451  56547.7999 177521.33 ARA RAL     1
## 13   1598.68447  28247.9862  78808.74 PAC PAC     2
## 4   65482.93664  60379.2315 217828.68 PAC PAC     1
## 10  14494.88550  30739.9629  89917.95 GES CAR     2
## 74   4047.64287  48973.1720 125603.27 ARA RAL     2
## 59  20836.65642   1916.3571  21499.43 HDF NPC     1
## 84   8807.87448  35738.0584  87308.65 PAC PAC     2
## 6   14052.84351  62171.7883 148540.57 PAC PAC     2
## 1    3059.38542  55477.8770 120841.38 ARA RAL     2
## 64    308.83600  68302.9977 142475.47 NAQ AQU     2
## 8   29936.46755  39855.1875  79238.74 GES CAR     2
## 73   6552.39487  78008.3491 108994.28 ARA RAL     2
## 21  46616.22837 114464.1788 156898.98 BFC BOU     2
## 5   27490.40525  72789.0511  93296.96 PAC PAC     2
## 65   5562.87241  56950.9652  68998.96 OCC MPY     2
## 51  31312.96924 102178.7164 111909.64 GES CAR     2
## 39  22755.91468  97703.2993 102597.08 BFC FCO     2
## 57  73682.03980  47710.5387  51002.75 GES LOR     2
## 90    777.93487  13400.1863  11877.62 BFC FCO     2
## 25   5993.11370 116642.6382  95359.92 BFC FCO     2
## 88  55763.69377 129071.9215  96528.55 GES LOR     2
## 70   7827.81384 122857.9440  93471.60 BFC FCO     2
## 55  49644.41117 102142.5714  72377.57 GES LOR     2
## 54  33624.78999  76595.8319  52778.10 GES LOR     2
## 67  55792.35138  75539.7775  42461.83 GES ALS     2
## 68  21163.35648  83853.2832  37641.33 GES ALS     2

Description des sur et sous représentations des variables dans les classes (pour établir la légende de la cartographie des résulats par exemple)

  • variables qantitatives

  • variables qualitatives supplémentaires

res.propforafc.ca.hcpc$desc.var # description des classes pour qualifier les postes de légende
## $frequency
## $`1`
##           Intern %   glob % Intern freq Glob freq  p.value v.test
## ForPriv  83.514037 73.68433   9023479.6   11092410       0    Inf
## ForColec  7.329687 16.28389    791954.1    2451370       0   -Inf
## ForDom    9.156276 10.03177    989312.3    1510179       0   -Inf
## 
## $`2`
##          Intern %   glob % Intern freq Glob freq  p.value v.test
## ForColec 39.05232 16.28389   1659416.3    2451370       0    Inf
## ForDom   12.25796 10.03177    520866.9    1510179       0    Inf
## ForPriv  48.68972 73.68433   2068930.0   11092410       0   -Inf
## 
## attr(,"class")
## [1] "descfreq" "list"    
## 
## $test.chi2
##     p.value df
## Reg       0 12
## Nu2       0 21
## 
## $category
## $category$`1`
##            Cla/Mod    Mod/Cla     Global p.value v.test
## Nu2=PLO 100.000000  2.9428730  2.1122015       0    Inf
## Nu2=PIC 100.000000  2.7890678  2.0018102       0    Inf
## Nu2=PCA 100.000000  3.5370826  2.5386862       0    Inf
## Nu2=NPC 100.000000  0.8384538  0.6017872       0    Inf
## Nu2=MPY  89.370672 10.2339353  8.2188579       0    Inf
## Nu2=LRO 100.000000  9.0216880  6.4751768       0    Inf
## Nu2=LIM 100.000000  5.4076200  3.8812355       0    Inf
## Nu2=IDF 100.000000  2.5785104  1.8506859       0    Inf
## Nu2=HNO 100.000000  2.0905819  1.5004828       0    Inf
## Nu2=CVL 100.000000  8.1890316  5.8775506       0    Inf
## Nu2=COR 100.000000  3.7188909  2.6691764       0    Inf
## Nu2=BRE 100.000000  3.0251067  2.1712235       0    Inf
## Nu2=BNO 100.000000  1.5536401  1.1151011       0    Inf
## Nu2=AUV 100.000000  6.6368667  4.7635083       0    Inf
## Nu2=AQU  88.253488 14.6781226 11.9371997       0    Inf
## Reg=PDL 100.000000  2.9428730  2.1122015       0    Inf
## Reg=OCC  94.054666 19.2556232 14.6940347       0    Inf
## Reg=NOR 100.000000  3.6442220  2.6155839       0    Inf
## Reg=NAQ  92.361523 23.6228251 18.3571214       0    Inf
## Reg=IDF 100.000000  2.5785104  1.8506859       0    Inf
## Reg=HDF 100.000000  3.6275216  2.6035974       0    Inf
## Reg=CVL 100.000000  8.1890316  5.8775506       0    Inf
## Reg=COR 100.000000  3.7188909  2.6691764       0    Inf
## Reg=BRE 100.000000  3.0251067  2.1712235       0    Inf
## Reg=ARA  75.564422 15.7859660 14.9940043       0    Inf
## Nu2=RAL  64.186764  9.1490993 10.2304960       0   -Inf
## Nu2=PAC  51.349282  6.4360318  8.9959624       0   -Inf
## Nu2=LOR   0.000000  0.0000000  5.5860572       0   -Inf
## Nu2=FCO   0.000000  0.0000000  4.5919153       0   -Inf
## Nu2=CAR  20.403013  1.2563724  4.4196504       0   -Inf
## Nu2=BOU  66.783689  5.9170252  6.3591174       0   -Inf
## Nu2=ALS   0.000000  0.0000000  2.1021176       0   -Inf
## Reg=PAC  51.349282  6.4360318  8.9959624       0   -Inf
## Reg=GES   7.447595  1.2563724 12.1078252       0   -Inf
## Reg=BFC  38.780390  5.9170252 10.9510327       0   -Inf
## 
## $category$`2`
##            Cla/Mod   Mod/Cla     Global p.value v.test
## Nu2=RAL  35.813236 12.980233 10.2304960       0    Inf
## Nu2=PAC  48.650718 15.505262  8.9959624       0    Inf
## Nu2=LOR 100.000000 19.790082  5.5860572       0    Inf
## Nu2=FCO 100.000000 16.268072  4.5919153       0    Inf
## Nu2=CAR  79.596987 12.463120  4.4196504       0    Inf
## Nu2=BOU  33.216311  7.483253  6.3591174       0    Inf
## Nu2=ALS 100.000000  7.447307  2.1021176       0    Inf
## Reg=PAC  48.650718 15.505262  8.9959624       0    Inf
## Reg=GES  92.552405 39.700509 12.1078252       0    Inf
## Reg=BFC  61.219610 23.751326 10.9510327       0    Inf
## Nu2=PLO   0.000000  0.000000  2.1122015       0   -Inf
## Nu2=PIC   0.000000  0.000000  2.0018102       0   -Inf
## Nu2=PCA   0.000000  0.000000  2.5386862       0   -Inf
## Nu2=NPC   0.000000  0.000000  0.6017872       0   -Inf
## Nu2=MPY  10.629328  3.094992  8.2188579       0   -Inf
## Nu2=LRO   0.000000  0.000000  6.4751768       0   -Inf
## Nu2=LIM   0.000000  0.000000  3.8812355       0   -Inf
## Nu2=IDF   0.000000  0.000000  1.8506859       0   -Inf
## Nu2=HNO   0.000000  0.000000  1.5004828       0   -Inf
## Nu2=CVL   0.000000  0.000000  5.8775506       0   -Inf
## Nu2=COR   0.000000  0.000000  2.6691764       0   -Inf
## Nu2=BRE   0.000000  0.000000  2.1712235       0   -Inf
## Nu2=BNO   0.000000  0.000000  1.1151011       0   -Inf
## Nu2=AUV   0.000000  0.000000  4.7635083       0   -Inf
## Nu2=AQU  11.746512  4.967680 11.9371997       0   -Inf
## Reg=PDL   0.000000  0.000000  2.1122015       0   -Inf
## Reg=OCC   5.945334  3.094992 14.6940347       0   -Inf
## Reg=NOR   0.000000  0.000000  2.6155839       0   -Inf
## Reg=NAQ   7.638477  4.967680 18.3571214       0   -Inf
## Reg=IDF   0.000000  0.000000  1.8506859       0   -Inf
## Reg=HDF   0.000000  0.000000  2.6035974       0   -Inf
## Reg=CVL   0.000000  0.000000  5.8775506       0   -Inf
## Reg=COR   0.000000  0.000000  2.6691764       0   -Inf
## Reg=BRE   0.000000  0.000000  2.1712235       0   -Inf
## Reg=ARA  24.435578 12.980233 14.9940043       0   -Inf
## 
## 
## $call
## $call$num.var
## [1] 3
## 
## $call$proba
## [1] 0.05
## 
## $call$row.w
##        24        46        82        47        53        56        87        16 
## 396818.73 214924.00  69147.00 128737.78  35567.32 112729.95 149996.45 117683.41 
##        49        32        86        69        22        19        33        44 
##  84138.84  84924.35 112736.29  70197.35  82859.68 267179.27 483222.24  55784.77 
##        41        50        42        29        80        12        23        14 
## 205667.79  26314.25 126720.62  74769.96  55718.47 245915.77 167103.89  45762.24 
##        17        40        37        36         7        72        28        27 
## 102943.82 577155.11 150146.59 118031.55 252553.71 107589.28  70998.67 126386.20 
##        79        43        18        35        81        45        85         3 
##  48809.27 186298.18 171818.90  56495.51 164358.18 168140.56  34889.74 123128.15 
##        62        63        34        61        83        48        15        52 
##  46340.35 254954.43 203163.92  95790.37 351706.05 232299.23 152715.83 135747.85 
##        77         2       202       110       201        58        89        26 
## 137069.53 123391.54 177238.78 141531.97 224577.94 226256.30 226382.07 284864.29 
##        60        71        11        30         9        76        31        66 
## 122241.69 186681.17 180663.47 217272.12 201095.15  99495.87 125386.27 141371.74 
##        38        13         4        10        74        59        84         6 
## 254200.98 108655.41 343690.85 135152.80 178624.08  44252.44 131854.59 224765.20 
##         1        64         8        73        21         5        65        51 
## 179378.64 211087.30 149030.39 193555.02 317979.39 193576.42 131512.80 245401.32 
##        39        57        90        25        88        70        55        54 
## 223056.29 172395.33  26055.74 217995.67 281364.17 224157.36 224164.55 162998.72 
##        67        68 
## 173793.96 142657.97 
## 
## $call$X
##     Reg Nu2 clust
## 24  NAQ AQU     1
## 46  OCC MPY     1
## 82  OCC MPY     1
## 47  NAQ AQU     1
## 53  PDL PLO     1
## 56  BRE BRE     1
## 87  NAQ LIM     1
## 16  NAQ PCA     1
## 49  PDL PLO     1
## 32  OCC MPY     1
## 86  NAQ PCA     1
## 69  ARA RAL     1
## 22  BRE BRE     1
## 19  NAQ LIM     1
## 33  NAQ AQU     1
## 44  PDL PLO     1
## 41  CVL CVL     1
## 50  NOR BNO     1
## 42  ARA RAL     1
## 29  BRE BRE     1
## 80  HDF PIC     1
## 12  OCC MPY     1
## 23  NAQ LIM     1
## 14  NOR BNO     1
## 17  NAQ PCA     1
## 40  NAQ AQU     1
## 37  CVL CVL     1
## 36  CVL CVL     1
## 7   ARA RAL     1
## 72  PDL PLO     1
## 28  CVL CVL     1
## 27  NOR HNO     1
## 79  NAQ PCA     1
## 43  ARA AUV     1
## 18  CVL CVL     1
## 35  BRE BRE     1
## 81  OCC MPY     1
## 45  CVL CVL     1
## 85  PDL PLO     1
## 3   ARA AUV     1
## 62  HDF NPC     1
## 63  ARA AUV     1
## 34  OCC LRO     1
## 61  NOR BNO     1
## 83  PAC PAC     1
## 48  OCC LRO     1
## 15  ARA AUV     1
## 52  GES CAR     1
## 77  IDF IDF     1
## 2   HDF PIC     1
## 202 COR COR     1
## 110 IDF IDF     1
## 201 COR COR     1
## 58  BFC BOU     1
## 89  BFC BOU     1
## 26  ARA RAL     1
## 60  HDF PIC     1
## 71  BFC BOU     1
## 11  OCC LRO     1
## 30  OCC LRO     1
## 9   OCC MPY     1
## 76  NOR HNO     1
## 31  OCC MPY     1
## 66  OCC LRO     1
## 38  ARA RAL     1
## 13  PAC PAC     2
## 4   PAC PAC     1
## 10  GES CAR     2
## 74  ARA RAL     2
## 59  HDF NPC     1
## 84  PAC PAC     2
## 6   PAC PAC     2
## 1   ARA RAL     2
## 64  NAQ AQU     2
## 8   GES CAR     2
## 73  ARA RAL     2
## 21  BFC BOU     2
## 5   PAC PAC     2
## 65  OCC MPY     2
## 51  GES CAR     2
## 39  BFC FCO     2
## 57  GES LOR     2
## 90  BFC FCO     2
## 25  BFC FCO     2
## 88  GES LOR     2
## 70  BFC FCO     2
## 55  GES LOR     2
## 54  GES LOR     2
## 67  GES ALS     2
## 68  GES ALS     2

7.4. Export des résultats de la CAH

A l’aide de write.table() [package FactoMineR] ou write.infile (le seul des deux qui exporte “$desc.var”) !

# Export into a CSV file de l'affectation des individus aux clusters
write.table(res.propforafc.ca.hcpc$data.clust, file="res.propforafc.ca.hcpc$data.clust_v2.csv", col.names=TRUE, sep = ";")

# Export into a CSV file de la description des variables quantitatives et qualitatives suplémentaires
write.infile(res.propforafc.ca.hcpc$desc.var, file="res.propforafc.ca.hcpc$desc.var_v2.csv", sep = ";")

PS : ce dernier export sera transformé en feuille de calculs pour permettre de calculer les sur et sous représentations (voir la colonne écart au global du fichier res.propforafc.ca.hcpc$desc.var_v2.xlsx contenant les résultats des classifications (description des classes de la partition par les variables).


La lecture des caractéristiques des classes se présente comme suit :

  • Pour les variables quantitatives [on parle de fréquence en AFC (frequency)]

– glob% => % de la fréquence dans l’échantillon - GLOBAL : représente la part (en pourcentage) des modes de gestion (ForDom, ForColec, ForPriv) dans l’échantillon global (càd la répartition des modes de gestion pour toute la France) ;

– intern% => % de la fréquence dans la classe - FRE / CLA : représente la part (en pourcentage) de chaque modes de gestion (ForDom, ForColec, ForPriv) dans la classe.

On crée une variable “écart au global” (dans une feuille de calcul par exemple) pour connaître la sur ou sous représentation de cette fréquence dans la classe par rapport à la répartition France entière.

  • Pour les variables qualitatives suplémentaires [on parle de catégorie ou modalité (category)]:

– Global => % de la modalité dans l’échantillon - GLOBAL : représente la part (en pourcentage) des départements de la régions par rapport à l’ensemble des départements.

– Mod/Cla => représente le pourcentage des départements de la région dans cette classe possédant la modalité.

– Cla/Mod => représente le pourcentage des départements de la région présentant la modalité et appartenant à la classe.

On crée une variable “écart au global” (dans une feuille de calcul par exemple) pour connaître la sur ou sous représentation de cette modalité dans la classe par rapport à la répartition France entière.

8. Le couteau suisse

Le package FactoInvestigate décrit et interprète automatiquement les résultats de votre analyse factorielle (ACP, AFC ou ACM) en choisissant les graphes les plus appropriés pour le rapport (sources : http://factominer.free.fr/reporting/index_fr.html, mais ce package semble inaccessible à la date de rédaction !)

#install.packages("FactoInvestigate")

#library(FactoInvestigate)

#Investigate(res.propforafc.ca)
## Note des concepteurs à propos du package FactoInvestigate : Cette interprétation des résultats a été réalisée de façon automatique,
## elle ne peut en aucun cas égaler la qualité d'une interprétation personnalisée