Begin'R
Les statistiques avec R
Navigation
[Retour au sommaire]
# Mise en place de l'ACP :Objectifs {#ACP3bis} * Mettre en place une ACP :Remarque : Besoin de quelques rappels pour l'importation et la préparation du jeu de données? {#rq_ACP_presentation_jeu_donnees, toggle=collapse, title-display=show} Le jeu de données utilisé dans les exemples est celui sur les données `Tomates`. Les liens ci-dessous permettent de télécharger les fichiers de données, de voir une description associée et d'obtenir les lignes de code pour importer le jeu de données sur R. | Jeu de données | Excel | CSV | Présentation | Commande R | Explication | |----------------|--------|-------------|----------------|------------|-------------| | Données Tomates | [](donnees/DonneesTomates.xlsx) | [](donnees/DonneesTomates.csv) | [Tomates](#tomatesexp) | [Importer le jeu de données](#ligne_code_importation_tomates) | [Préparation du jeu de données Tomates](#explication_preparation_importation_tomates) | :Exemple{#tomatesexp, toggle=popup, title-display=hidden} Un jeu de données considéré ici est issu d'une étude expérimentale menée sur la tomate à l'UMR 1332 Biologie du fruit et Pathologie (Centre INRA Bordeaux-Nouvelle Aquitaine). L'objectif est de repérer les facteurs qui influencent le calibre des fruits de tomate. Les données se présentent sous la forme d'un tableau Individus (en lignes) x Variables (en colonnes). Chaque individu statistique correspond à un individu-fruit dont les caractéristiques sont présentées en ligne. Les individus sont décrits par 7 variables, dont 2 qualitatives (nominales ou ordinales) et 5 quantitatives (numériques) présentées en colonnes. * La variable `Genotype` (qualitative nominale): Génotype de plante de tomate sur laquelle le fruit a été récolté. Il s'agit soit de plantes de type sauvage (C), soit de lignées transgéniques (L) ; * La variable `Stade` (qualitative ordinale): Stades de développement du fruit. Les stades 1 à 3 sont des stades de croissance (fruits verts) et les stades 4 et 5 des stades de maturité (fruits rouges); * La variable `Aire_Pericarpe` (quantitative): Aire du péricarpe, la partie charnue du fruit de tomate sans le gel (en mm²) ; * La variable `PerimetreExt_Fruit` (quantitative): Périmètre externe des fruits de tomate (en mm) ; * La variable `DiametreExt_Fruit` (quantitative): Diamètre des fruits de tomate (en mm) ; * La variable `Epaisseur_Pericarpe` (quantitative): Epaisseur du péricarpe, c'est à dire la partie charnue du fruit de tomate, sans le gel (en mm) ; * La variable `Nombre_Loge` (quantitative): Nombre de carpelles formant des loges dans le fruit de tomate, dénombrés sur une coupe transversale du fruit. :Exemple {#ligne_code_importation_vins, toggle=popup} ```r Donnees <- read.csv2("DonneesVins.csv", header = TRUE, stringsAsFactors = TRUE) X <- Donnees[, 4:11] ``` :Exemple {#ligne_code_importation_tomates, toggle=popup} ```r Donnees <- read.csv2("DonneesTomates.csv", header = TRUE, stringsAsFactors = TRUE) X <- Donnees[, 4:8] ``` :Exemple {#explication_preparation_importation_tomates, toggle=popup} Dans un premier temps, [importer le jeu de données tomates sur R Studio](caps_2_3_importation_CSV.html). ```r Donnees <- read.csv2("DonneesTomates.csv", header = TRUE, stringsAsFactors = TRUE) ``` Les 6 premiers individus sont affichés ci-dessous : ``` ## Nom Genotype Stade Aire_Pericarpe PerimetreExt_Fruit DiametreExt_Fruit ## 1 C1st1_1 C1 st1 105.43 62.08 19.68 ## 2 C1st1_2 C1 st1 38.60 41.31 13.11 ## 3 C1st1_3 C1 st1 34.47 41.01 13.00 ## 4 C1st2_1 C1 st2 578.09 134.43 42.66 ## 5 C1st2_2 C1 st2 509.71 126.82 40.11 ## 6 C1st2_3 C1 st2 622.92 137.36 43.41 ## Epaisseur_Pericarpe Nombre_Loge ## 1 1.74 2 ## 2 1.00 2 ## 3 0.82 3 ## 4 4.55 3 ## 5 4.33 2 ## 6 4.95 2 ``` Pour appliquer une méthode d'analyse de données multivariées (analyse en composantes principales, classification ascendante hiérarchique, classification par la méthode des centres mobiles), il faut extraire du jeu de données uniquement les variables quantitatives. Pour ce jeu de données, comme elles se trouvent sur les colonnes 4 à 8, il faut utiliser l'instruction suivante pour [extraire les colonnes du jeu de données](caps_2_9_extraire_sous_ensemble.html): ```r X <- Donnees[, 4:8] ``` La variable `X` contient ainsi uniquement les variables quantitatives. Les 6 premiers individus sont affichés ci-dessous ``` ## Aire_Pericarpe PerimetreExt_Fruit DiametreExt_Fruit Epaisseur_Pericarpe ## 1 105.43 62.08 19.68 1.74 ## 2 38.60 41.31 13.11 1.00 ## 3 34.47 41.01 13.00 0.82 ## 4 578.09 134.43 42.66 4.55 ## 5 509.71 126.82 40.11 4.33 ## 6 622.92 137.36 43.41 4.95 ## Nombre_Loge ## 1 2 ## 2 2 ## 3 3 ## 4 3 ## 5 2 ## 6 2 ``` Le tableau ci-dessous présente la fonction R pour mettre en place une ACP (normée ou non). | Rôle | Commande R | Arguments | Exemple | |-------------------------------------------------------|--------------------|-------------------------|------------------------| | Mettre en place une ACP normée | `PCA()` | `scale.unit`, `graph` | [ici](#exemple_mise_en_place_ACP_normee) | | Mettre en place une ACP non normée | `PCA()` | `scale.unit`, `graph` | [ici](#exemple_mise_en_place_ACP_non_normee) | | Indiquer des individus supplémentaires | `PCA()` | `ind.sup` | [ici](#exemple_mise_en_place_ACP_individus_supplementaires) | | Indiquer des variables quantitatives supplémentaires | `PCA()` | `quanti.sup` | [ici](#exemple_mise_en_place_ACP_variables_quanti_supplementaires) | :Exemple {#exemple_mise_en_place_ACP_normee, toggle=popup} La fonction `PCA()` permet de mettre en place une analyse en composantes principales. Comme cette fonction fait partie du package `FactoMineR`, il faut au préalable [installer et charger ce package](caps_1_6_packages.html). Dans la fonction `PCA()`, le premier argument correspond au jeu de données. L'argument `scale.unit` permet de spécifier si l'on souhaite normaliser ou non les variables. Il est égal à `TRUE` pour une ACP normée. L'argument `graph` permet de dire si l'on souhaite que le cercle des corrélations et le graphique des individus s'affichent. Il sera toujours mis à `FALSE` car la mise en forme proposée par défaut n'est pas des plus esthétiques. Les capsules sur le [cercle des corrélations](caps_13_5_acp_cercle_correlation.html) ainsi que sur le [graphique des individus](caps_13_6_acp_graphique_individus.html) présenteront un affichage de meilleure qualité. ```r library("FactoMineR") res.pca <- PCA(X, scale.unit = TRUE, graph = FALSE) ``` Avec cette instruction, une ACP normée est mise en place. Cela revient à utiliser la métrique des inverses des variances comme cela a été plébiscitée pour le jeu de données tomates dans la capsule sur le [choix de la métrique](caps_13_2_acp_metrique.html). :Remarque {#Rq_mise_en_place_ACP_normee, toggle=collapse} Les trois instructions suivantes sont équivalentes. En effet, le jeu de données `Z` contient les variables centrées réduites. L'argument `scale.unit` peut prendre la valeur `TRUE` ou `FALSE` car centrer et réduire des variables centrées réduites ne changent pas les valeurs des variables. Cela revient à retrancher 0 et à diviser par 1. ```r library("FactoMineR") res.pca <- PCA(X, scale.unit = TRUE, graph = FALSE) Z = scale(X) res.pca <- PCA(Z, scale.unit = TRUE, graph = FALSE) res.pca <- PCA(Z, scale.unit = FALSE, graph = FALSE) ``` :Exemple {#exemple_mise_en_place_ACP_non_normee, toggle=popup} La fonction `PCA()` permet de mettre en place une analyse en composantes principales. Comme cette fonction fait partie du package `FactoMineR`, il faut au préalable [installer et charger ce package](caps_1_6_packages.html). Dans la fonction `PCA()`, le premier argument correspond au jeu de données. Il faut prendre ici le jeu de données initial (`X`). L'argument `scale.unit` permet de spécifier si l'on souhaite normaliser ou non les variables. Il est égal à `FALSE` pour une ACP non normée. L'argument `graph` permet de dire si l'on souhaite que le cercle des corrélations et le graphique des individus s'affichent. Il sera toujours mis à `FALSE` car la mise en forme proposée par défaut n'est pas des plus esthétiques. Les capsules sur le [cercle des corrélations](caps_13_5_acp_cercle_correlation.html) ainsi que sur le [graphique des individus](caps_13_6_acp_graphique_individus.html) présenteront un affichage de meilleure qualité. ```r library("FactoMineR") res.pca <- PCA(X, scale.unit = FALSE, graph = FALSE) ``` Avec cette instruction, une ACP non normée est mise en place. Cela revient à utiliser la [métrique identité](caps_13_2_acp_metrique.html). :Exemple {#exemple_mise_en_place_ACP_individus_supplementaires, toggle=popup} Un individu supplémentaire (ou illustratif) est par exemple un individu ayant une valeur aberrante ou suspecte pour une variable. Afin que ces individus ne viennent pas fausser les résultats de l'ACP, une pondération nulle leur est affectée. Ils ne participent donc pas au calcul des composantes principales. En revanche, les individus supplémentaires sont affichés dans le [graphique des individus](caps_13_6_acp_graphique_individus.html), ils apparaitront en bleu. Dans la fonction `PCA()`, l'argument `ind.sup` est un vecteur contenant les indices des individus supplémentaires. Avec l'instruction ci-dessous, les 5 premiers individus sont considérés comme des individus supplémentaires. ```r library("FactoMineR") res.pca <- PCA(X, scale.unit = TRUE, graph = FALSE, ind.sup = c(1:5)) ``` :Exemple {#exemple_mise_en_place_ACP_variables_quanti_supplementaires, toggle=popup} Une variable quantitative supplémentaire (ou illustrative) est une variable qui ne participe pas au calcul des composantes principales. En revanche, elle apparait en pointillé bleu dans le [cercle des corrélations](caps_13_5_acp_cercle_correlation.html). Dans la fonction `PCA()`, l'argument `quanti.sup` est un vecteur contenant les indices des variables quantitatives supplémentaires. Avec l'instruction ci-dessous, la 5
ème
variable (`Nombre_Loge`) est considérée comme une variable quantitative supplémentaire. ```r library("FactoMineR") res.pca <- PCA(X, scale.unit = TRUE, graph = FALSE, quanti.sup = c(5)) ``` :suite ACP {#ACP, toggle=collapse} [Choix de la métrique](caps_13_2_acp_metrique.html) [Calcul et visualisation de la matrice de corrélation](caps_13_3_acp_matrice_correlation.html) [Mise en place de l'analyse en composantes principales](caps_13_3bis_acp_mise_en_place_acp.html) [Choix du nombre d'axes pour l'interprétation](caps_13_4_acp_valeurs_propres.html) [Analyse du cercle des corrélations](caps_13_5_acp_cercle_correlation.html) [Analyse du graphique des individus](caps_13_6_acp_graphique_individus.html) [Exercice bilan](caps_13_7_acp_exercice_bilan.html)