ACP dans R Avec FactoMineR: Scripts Faciles et Cours
Cet article commence par vous montrer comment calculer facilement l’ACP dans R en utilisant le package FactoMineR. Ensuite une série de vidéos de cours est présentée (Auteur: François Husson).
Rappelons que l’ACP (Analyse en Composantes Principales) est une méthode d’analyse de données multivariées qui nous permet de résumer et de visualiser l’information contenue dans un grand tableau de données comprenant essentiellement des variables quantitatives.
Dans les vidéos, François Husson aborde la théorie derrière l’ACP (les 3 premières vidéos), et présente des exemples concrets en utilisant le package R FactoMineR. Il présente également comment interpréter les résultats.
François Husson, poursuit le cours en présentant une solution pratique pour gérer les situations où les données contiennent des «valeurs manquantes». Ceci est rendu possible grâce au package R missMDA
.
Par la suite, une vidéo présente le package «Factoshiny», qui fournit une interface graphique facile à utiliser pour calculer l’ACP. Ceci est très utile pour les utilisateurs qui n’ont pas beaucoup d’expérience dans la programmation R.
Il termine en présentant le package FactoInvestigate, qui permet de générer automatiquement un rapport - au format HTML, PDF ou Word - contenant les résultats et l’interprétation de l’ACP.
Contents:
Code R: guide de demarrage rapide
- Installer FactoMineR:
install.packages("FactoMineR")
- Calculer l’ACP en utilisant les données de démonstration USArrests. Le jeu de données contient des statistiques sur les arrestations par 100 000 habitants pour assaut, meurtre et viol dans chacun des 50 États américains en 1973.
library(FactoMineR)
data("USArrests")
res.pca <- PCA(USArrests, graph = FALSE)
- Visualiser les valeurs propres. Montre le pourcentage de variances expliquées par chaque axe principal.
eig.val <- res.pca$eig
barplot(eig.val[, 2],
names.arg = 1:nrow(eig.val),
main = "Variances Explained by PCs (%)",
xlab = "Principal Components",
ylab = "Percentage of variances",
col ="steelblue")
# Add connected line segments to the plot
lines(x = 1:nrow(eig.val), eig.val[, 2],
type = "b", pch = 19, col = "red")
- Graphique des individus. Les individus similaires sont groupés ensemble.
plot(res.pca, choix = "ind", autoLab = "yes")
- Graphique des variables. Les variables corrélées positivement sont du même côté du graphique. Les variables corrélées négativement sont sur des côtés opposés du graphique.
plot(res.pca, choix = "var", autoLab = "yes")
Pour des graphiques de type ggplot2: ACP - Analyse en Composantes Principales avec R: L’Essentiel
- Accéder aux résultats de l’ACP
# Valeurs propres
res.pca$eig
# Résultats des variables
res.var <- res.pca$var
res.var$coord # Coordonnées
res.var$contrib # Contributions aux axes
res.var$cos2 # Qualité de représentation
# Résultats des individus
res.ind <- res.pca$var
res.ind$coord # Coordonnées
res.ind$contrib # Contributions aux axes
res.ind$cos2 # Qualité de représentation
Théories et concepts
Format des données
Cette vidéo présente le type de données à utiliser pour l’analyse en composantes principales et définit certaines notations utiles. Il introduit également le type de questions que l’on peut étudier avec l’ACP.
Etude des individus et des variables
Cette vidéo présente comment les coordonnées des individus et des variables sont calculées et visualisées.
Aides à l’interprétation
Cette vidéo présente des conseils et astuces qui aident à interpréter le résultat de l’ACP.
ACP: Examples dans R
ACP avec FactoMineR
Gestion des données manquantes
Cette vidéo montre comment gérer les valeurs manquantes dans l’ACP en utilisant les packages missMDA
et FactoMineR
.
Application Factoshiny
Factoshiny permet de faire l’ACP à travers une interface graphique par clic bouton.
Interprétation automatique: FactoInvestigate
Le package R FactoInvestigate permet de générer automatiquement un rapport contenant les graphiques et l’interprétation des résultats de l’ACP. FactoInvestigate R Package: Automatic Reports and Interpretation of Principal Component Analyses