Valeurs propres: visualisation de données avec factoextra - Logiciel R et analyse de données


Description

Cet article décrit comment extraire et visualiser les valeurs propres/variances des dimensions à partir des résultats de l’analyse en composantes principales (ACP), l’analyse des correspondances (CA) et de l’ analyse des correspondances multiples (MCA).

Le logiciel R et le package factoextra sont utilisés. Les fonctions décrites ici sont:

  • get_eig() (ou get_eigenvalue()): Extraction des valeurs propres/variances des composantes principales
  • fviz_eig() (ou fviz_screeplot()): Graphique des valeurs propres/variances des composantes principales

Installer et charger factoextra

Le package devtools est requis pour l’installation de factoextra.

if(!require(devtools)) install.packages("devtools")
devtools::install_github("kassambara/factoextra")

Charger factoextra:

library("factoextra")

Utilisation

# Extraction des valeurs propres/variances
get_eig(X)
# Visualisation des valeurs propres/variances
fviz_eig(X, choice = c("variance", "eigenvalue"), 
  geom = c("bar", "line"), barfill = "steelblue",
  barcolor = "steelblue", linecolor = "black", 
  ncp = 5, addlabels = FALSE, ...)
# Alias de get_eig()
get_eigenvalue(X)
# Alias de fviz_eig()
fviz_screeplot(...)

Arguments

Argument Description
X Un objet de classe PCA, CA et MCA [FactoMineR]; prcomp et princomp [stats]; dudi, pca, coa et acm [ade4]; ca et mjca [ca package].
choice Texte spécifiant les données à visualiser. Les valeurs possibles sont: “variance” ou “eigenvalue”.
geom Un texte spécifiant la géométrie à utiliser pour le graphique. Les valeurs possibles sont: “bar” pour barplot, “line” pour lineplot or c(“bar”, “line”) pour utiliser les deux types.
barfill Couleur de remplissage du barplot.
barcolor Couleur de bordure pour le barplot.
linecolor Couleur à utiliser lorsque geom = “line”.
ncp Valeur numérique spécifiant le nombre de dimensions à montrer.
addlabels Valeur logique. si TRUE, des étiquettes sont ajoutées au dessus de chaque bar montrant l’information retenue par chaque dimension.
Arguments optionnels à passer aux fonctions geom_bar(), geom_line(), geom_text() ou fviz_eig().

Valeur

  • get_eig() (ou get_eigenvalue()): retourne un data.frame contenant 3 colonnes: les valeurs propres, le pourcentage de variance et le pourcentage cumulé de variance retenu par chaque dimension..
  • fviz_eig() (ou fviz_screeplot()): retourne un graphique de type ggplot2.

Exemples

Analyse en composante principale

Une analyse en composantes principales (ACP) est effectuée en utilisant la fonction intégrée de R prcomp() et le jeu de données iris:

data(iris)
head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
# La variable Species (index = 5) est supprimée
# avant la PCA
res.pca <- prcomp(iris[, -5],  scale = TRUE)
# Extraction des valeurs propres/variances
get_eig(res.pca)
      eigenvalue variance.percent cumulative.variance.percent
Dim.1 2.91849782       72.9624454                    72.96245
Dim.2 0.91403047       22.8507618                    95.81321
Dim.3 0.14675688        3.6689219                    99.48213
Dim.4 0.02071484        0.5178709                   100.00000

Visualiser les valeurs propres/variances des dimensions

# Graphique par defaut
fviz_eig(res.pca)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Ajouter des etiquettes (addlabels)
fviz_eig(res.pca, addlabels=TRUE, hjust = -0.3)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Changer les limites de l'axe des y
fviz_eig(res.pca, addlabels=TRUE, hjust = -0.3) +
  ylim(0, 80)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Scree plot - Valeurs propres
fviz_eig(res.pca, choice = "eigenvalue", 
               addlabels=TRUE)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Utiliser uniquement un barplot
fviz_eig(res.pca, geom="bar", width=0.8, addlabels=T)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Utiliser uniquement un lineplot
fviz_eig(res.pca, geom="line")

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Changer le thème
fviz_eig(res.pca) + theme_minimal()

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# theme_classic()
fviz_eig(res.pca) + theme_classic()

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Graphique personnalisé
fviz_eig(res.pca, addlabels=TRUE, hjust = -0.3,
               linecolor ="red") + theme_minimal()

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Changer les couleurs, limites de l'axe des y et le thème
p <- fviz_eig(res.pca, addlabels=TRUE, hjust = -0.3,
               barfill="white", barcolor ="darkblue",
               linecolor ="red") + ylim(0, 85) + 
               theme_minimal()
print(p)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

# Changer le titre
p + labs(title = "Variances - PCA",
         x = "Principal Components", y = "% of variances")

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

Les thèmes suivants sont disponibles: theme_gray(), theme_bw(), theme_linedraw(), theme_light(), theme_minimal(), theme_classic().

Analyse des correspondences

La fonction CA() dans le package FactoMineR est utilisée:

library(FactoMineR)
data(housetasks)
res.ca <- CA(housetasks, graph = FALSE)
get_eig(res.ca)
        eigenvalue variance.percent cumulative.variance.percent
Dim.1 5.428893e-01     4.869222e+01                    48.69222
Dim.2 4.450028e-01     3.991269e+01                    88.60491
Dim.3 1.270484e-01     1.139509e+01                   100.00000
Dim.4 5.568500e-33     4.994437e-31                   100.00000
fviz_eig(res.ca)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

Analyse des correspondances multiples

La fonction MCA() dans le package FactoMineR est utilisée:

library(FactoMineR)
data(poison)
res.mca <- MCA(poison, quanti.sup = 1:2,
              quali.sup = 3:4, graph=FALSE)
get_eig(res.mca)
       eigenvalue variance.percent cumulative.variance.percent
Dim.1  0.33523140        33.523140                    33.52314
Dim.2  0.12913979        12.913979                    46.43712
Dim.3  0.10734849        10.734849                    57.17197
Dim.4  0.09587950         9.587950                    66.75992
Dim.5  0.07883277         7.883277                    74.64319
Dim.6  0.07108981         7.108981                    81.75217
Dim.7  0.06016580         6.016580                    87.76876
Dim.8  0.05577301         5.577301                    93.34606
Dim.9  0.04120578         4.120578                    97.46663
Dim.10 0.01304158         1.304158                    98.77079
Dim.11 0.01229208         1.229208                   100.00000
fviz_eig(res.mca, ncp = 10)

Valeurs propres: visualisation de données avec factoextra - Logiciel R et visualisation de données

Infos

Cette analyse a été réalisée en utilisant le logiciel R (ver. 3.2.1) et factoextra (ver. 1.0.3)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

You will receive, by e-mail, a copy of the "Guide to Create Beautiful Graphics in R"
* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


fviz_pca: Visualisation de l'Analyse en Composante Principale - Logiciel R et analyse de données
fviz_mca: Visualisation de l'Analyse des Correspondances Multiples - Logiciel R et analyse de données
fviz_ca: Visualisation de l'Analyse Factorielle des Correspondances simples avec factoextra - Logiciel R et analyse de données
factoextra: Réduire le chevauchement des points et des annotations - Logiciel R et analyse de données
fviz_contrib - Visualisation des contributions - Logiciel R et analyse de données
get_pca: Extraire les résultats de l'analyse en composante principale - Logiciel R et analyse de données
factoextra: Analyse et visualisation de données multivariées
get_mca: Extraire les résultats de l'analyse des correspondances multiples - Logiciel R et analyse de données
facto_summarize - Extraire et synthétiser les résultats d'analyse factorielle - Logiciel R et analyse de données
get_ca: Extraire les résultats pour les lignes/colonnes de l'analyse des correspondances - Logiciel R et analyse de données
fviz_cos2: Visualisation de la qualité de représentation des lignes/colonnes - Logiciel R et analyse de données

Cette page a été vue 1110 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons