BIYEVANGA RIDI-MICHEL
Document en construction
ACP AVEC R
Package factoMineR et factoextra
Pour effectuer acp
La commande PCA(le nom de la base de donnée, [Link]=TRUE, ncp=5,graph=TRUE)
Où [Link] =TRUE implique que les données seront normalisées
Ncp = nombre de composante principale
Afin de pouvoir mieux manipuler notre ACP, nous devons lui attribuer un nom
ac
pour avoir les différentes options, taper la commande print pca
En mettant le nom de notre ACP avant chaque sous résultat nous pourrons avoir les différents details de
calcul.
Exemple : pca$eig ;pca$var ;pca$call ; pca$ind$coord; pca$call$coll.w
Dans la suite, nous utilisons le package factoextra pour mieux visionner nos résultats
get_eig(nom de notre acp) Permet d’obtenir les valeurs propres/les
variances
fviz_eig(nom de notre acp) Visualiser les valeurs propres
get_pca_ind(nom de notre acp) Permet d’obtenir les différents composantes
calculée, etc
get_pca_var(nom de notre acp) Permet d’avoir différents résultats sur les
BIYEVANGA RIDI-MICHEL
Document en construction
variables
fviz_pca_ind(nom de notre acp) Donne les graphiques individuels ; dispersion
fviz_pca_var(nom de notre acp) Donner le graphiques sur les variables
fviz_pca_biplot(nom de notre acp) Mixe entre individuel et variable
BIYEVANGA RIDI-MICHEL
Document en construction
Cercle de corrélation
Pour l’obtenir fviz_pca_var(nom de la base, [Link]= «red»)
Dans [Link] vous pouvez mettre nimporte quelle couleur
La qualité de la représentation de chaque variable en fonction de des dimensions retenues se mesure
sur base de cos2. Qui n’est que la matrice de corrélation entre variable et composante elevée au carrée
La package factoextra ne nous permet pas de visualiser les différentes matrice de corrélation, coord et
contrib
Mais le package « corrplot » le permet
BIYEVANGA RIDI-MICHEL
Document en construction
Avec la commande corrplot(var$cos2, [Link]=FALSE)
Cette rerépsentation peut être aussi utlisée pour les autres résultats selon votre choix
Il est possible de colorer le cercle de corrélation en fonction de la qualité de l’ajustement grace au
package factoextra
Exemple [Link]= « cos2 », [Link]=c(« black », « white », « green ») veut dire que :
- Les variables avec un faible cos2 seront colorées en noire
- Les variables avec un cos2 moyen seront colorées en blanc
- Les variables avec un fort cos2 seront colorées en vert
BIYEVANGA RIDI-MICHEL
Document en construction
Exemple : fviz_pca_var(pca, [Link]= « cos2 », [Link]=c(« black », “green», “red”))
IL Y A MOYEN DE CHOISIR LES DIMENSIONS A REPRESENTER DANS LE CERCLE DE CORRELATION
fviz_pca_var(pca, [Link]= « cos2 », [Link]=c(« black », “green», “red”), axes=c(1,3))
fviz_pca_var(pca, [Link]="cos2", axes=c(1,3))
BIYEVANGA RIDI-MICHEL
Document en construction
Permet de ne voir que les variables qui sont bien projectées.
BIYEVANGA RIDI-MICHEL
Document en construction
Description des dimensions
L’interprétation des dimensios est souvent complexe. Evidement le cercle de corrélation associé à la
qualité de projection nous sont d’une grande aide. A cette palette ajoutons la fonction dimdesc() de
FactoMineR qui permet de d’indentifer la variable la plus significative à associer à une dimension de
notre acp
Voici la commande : [Link]<-dimdesc(nom de notre acp, axes=c(1,2), proba=0.05)
BIYEVANGA RIDI-MICHEL
Document en construction
Graphiques par individus
Par la fonction get_pca_ind(nom de votre acp) vous pouvez avoir différents résultats relatifs aux
individus.
Exemple : ind<- get_pca_ind(nom de votre acp)
$coord nous donne les différentes coordonnées des différentes variables
$cos2 nous donne la qualité de la réprésentation de chaque individu
$contrib nous donne la contribution de chaque individu à chaque dimension.
Il est possible de mettre sous graphique tout ces résultats avec la commande fviz_pca_ind
BIYEVANGA RIDI-MICHEL
Document en construction
Il est possible de colorer ces données de manière à ce que l’on voit ceux qui sont bien représenté sur le
plan.
fviz_pca_ind(pca, [Link]="cos2",[Link]=c("black","red","blue"),repel=TRUE)
fviz_pca_ind(pca, [Link]="cos2",[Link]=c("black","red","blue"),repel=TRUE,axe=c(2,3))
BIYEVANGA RIDI-MICHEL
Document en construction
fviz_pca_ind(pca,[Link]="cos2",[Link]=c("black","red","blue"),repel=TRUE,pointsize="cos2",axe=c
(2,3))
Il est possible de regrouper chaque individu en function du groupe auquel il appartient. A cet effet, il
faut qu’il existe une variable catégorielle (qualitative)
Nous allons utiliser la base de donnée iris pour cette représentation graphique
BIYEVANGA RIDI-MICHEL
Document en construction
La colonne species nous aidera à regrouper les individus
Pour faire l’acp on doit retirer la variable species qui est qualitative.
[Link]<-PCA(iris[,-5], graph=FALSE)
fviz_pca_ind([Link], [Link]="point",[Link]=iris$Species, palette=c("blue","red","green"),
[Link]="Groups")
BIYEVANGA RIDI-MICHEL
Document en construction
Il est possible d’ajouter une sorte de cerle par groupe par la function addEllipses=TRUE
fviz_pca_ind([Link], [Link]="point",[Link]=iris$Species, palette=c("blue","red","green"),
addEllipses=TRUE, [Link]="Groups")
Il s’agira de donner de trouver une bonne combinaison des couleurs
Pour voir toutes les palettes de couleurs disponibles sur R voici la commande :
RColorBrewer ::[Link]()
BIYEVANGA RIDI-MICHEL
Document en construction
fviz_pca_ind([Link], [Link]="point",[Link]=iris$Species, palette=c("Oranges"), addEllipses=TRUE,
[Link]="Groups", )
BIYEVANGA RIDI-MICHEL
Document en construction
IL EXISTE D’autre palette de couleur que l’on peut obtenir en téléchargant le package ggsci
Toutes ces palettes sont
1 Introduction
2 Discrete Color Palettes
2.1 NPG
2.2 AAAS
2.3 NEJM
2.4 Lancet
2.5 JAMA
2.6 JCO
2.7 UCSCGB
2.8 D3
2.9 LocusZoom
2.10 IGV
2.11 UChicago
2.12 Star Trek
BIYEVANGA RIDI-MICHEL
Document en construction
2.13 Tron Legacy
2.14 Futurama
2.15 Rick and Morty
2.16 The Simpsons
3 Continuous Color Palettes
3.1 GSEA
3.2 Material Design
fviz_pca_ind([Link], [Link]="point",[Link]=iris$Species, palette="jco", addEllipses=TRUE,
[Link]="Groups", )
Quelques arguments supplémentaires
Pour visualizer différentes dimensions, ajouter l’argument axes=c(2,3) pour la dimension 2 et 3
Pour ajouter le nom des variable ou des individus sur le graphique, l’argument est [Link] = « text »
ou [Link]= « text »
Pour ajouter des point avec le nom des variable ou des individus sur le graphique, l’argument est
[Link] = c(« text », « point ») ou [Link]= c(« text », « point »)
Pour le regroupement des individus, les ellipses peuvent avoir une forme convexe, l’argument est
[Link]= « convexe ».
fviz_pca_ind([Link], [Link]=c("point"),[Link]=iris$Species, palette="jco", addEllipses=TRUE,
[Link]="convex",[Link]="Groups",)
BIYEVANGA RIDI-MICHEL
Document en construction
Pour les biplots,
fviz_pca_biplot([Link], [Link]=c("point"),[Link]=iris$Species, palette="jco", addEllipses=TRUE,
[Link]="convex",[Link]="Groups",)
BIYEVANGA RIDI-MICHEL
Document en construction
toutefois il reste possible de specifier sois mm les différentes couleurs des variables et des individus
[Link]= ; [Link]= ;
dans un langage simple, le biplot peut etre interprété comme suit : un individu qui du même coté
qu’une variable a une grande valeur pour cette variable ; un individu qui est dans le sens opposé d’une
variable a une faible valeur dans cette variable.
BIYEVANGA RIDI-MICHEL
Document en construction
EXPORTER VOS RESULTATS
Tous vos resultats de votre acp peuvent être exporter
Voici la commande
[Link](le nom de l’acp, « le nom du fichier que vous créez pour exporter les donné[Link] », sep=
«;»
exemple : [Link](pca,"[Link]", sep=";")
après avoir recherché et ouvert le nouveau fichier, vous aurez ceci sous excel
BIYEVANGA RIDI-MICHEL
Document en construction