---
title: "Analyse en composantes principales (ACP) avec FactoMineR sur les donn�es d�cathlon"
author: "Fran�ois Husson"
output:
  pdf_document:
    fig_height: 6
    keep_tex: yes
  html_document: default
  word_document: default
---


# Importation du jeu de donn�es
Vous pouvez importer le jeu de donn�es apr�s l'avoir sauvegard� sur votre ordinateur ou bien directement � partir su lien suivant  <https://www.institut-agro-rennes-angers.fr/math/livreR/decathlon.csv>.

```{r eval=FALSE}
decathlon <- read.table("https://www.institut-agro-rennes-angers.fr/math/livreR/decathlon.csv", 
      header=TRUE, sep=";",dec=".", row.names=1, check.names=FALSE, fileEncoding="latin1")
```
```{r echo=FALSE}
decathlon <- read.table("C:/Users/husson/Documents/home/huss/Enseign/cours/Films/Mooc_anado/Donnees/AnaDo_JeuDonnees_Decathlon.csv", header=TRUE, sep=";",dec=".", row.names=1, check.names=FALSE, fileEncoding="latin1")
```
```header=TRUE``` : pr�cise que le nom des variables est pr�sent

```sep=";"``` : pr�cise que le s�parateur de colonnes est le point-virgule (fr�quent dans les fichiers csv, pour une tabulation il faudrait �crire ```sep="\t"```)

```dec="."``` : le s�parateur de d�cimale est le point (parfois dans Excel on trouve la virgule)

```row.names=1``` : pr�cise que le nom des individus est dans la premi�re colonne du tableau

```check.names=FALSE``` : impose que le nom des colonnes soit pris tel que dans le fichier (sinon les espaces sont remplac�s par des points et des X sont mis avant les nombres)

Il est important de s'assurer que l'importation a bien �t� effectu�e, et notamment que les variables quantitatives sont bien consid�r�es comme quantitatives et les variables qualitatives bien consid�r�es comme qualitatives

```{r}
summary(decathlon)
```

# Chargement de FactoMineR
```{r}
library(FactoMineR)
```

# L'ACP avec uniquement des �l�ments (lignes et variables) actifs
```{r}
res <- PCA(decathlon[,1:10])
```

On peut obtenir un r�sum� des principaux r�sultats en utilisant la fonction ```summary```. 

```{r eval=FALSE}
summary(res)
```

Nous demandons ici � avoir les r�sultats sur les 2 premi�res dimensions pour �viter d'avoir des tableaux trop grands (par d�faut, la fonction retourne les r�sultats des 3 premi�res dimensions).

```{r}
summary(res, ncp=2)
```

# L'ACP avec des variables suppl�mentaires
```{r}
res <- PCA(decathlon, quanti.sup=11:12, quali.sup=13)
summary(res, ncp=2, nbelements=Inf)
```
Pour imprimer les r�sultats dans un fichier :
```{r eval=FALSE}
summary(res, nbelements=Inf, file="essai.txt")
```

# Description des dimensions
```{r}
dimdesc(res)
dimdesc(res, proba=0.2)
```

# Graphe des individus avec des libell�s de police plus petite et avec un titre
```{r}
plot(res, cex=0.8, invisible="quali", title="Graphe des individus")
```

Si on a beaucoup d'individus et que les libell�s des individus ne sont pas explicites (des num�ros par exemple), on peut supprimer les noms des libell�s tout en laissant les points avec l'argument label="none".

```{r eval=FALSE}
plot(res, cex=0.8, invisible="quali", label="none", title="Graphe des individus")
```

# Coloriage des individus en fonction de leur modalit�
```{r}
plot(res, cex=0.8, habillage="Competition")
```

On aurait pu �crire :
```{r eval=FALSE}
plot(res, cex=0.8, habillage=13)
```
\newpage

# Ellipses de confiance autour des modalit�s
```{r}
plotellipses(res)
```

Si on a plusieurs variables qualitatives, on aura autant de graphes que de variables qualitatives. Avec sur chaque graphe, les ellipses de confiance des modalit�s de la variable qualitative en question.

\newpage

# Graphes sur les dimensions 3 et 4
```{r}
plot(res, choix="ind", cex=0.8, habillage=13, title="Graphe des individus", axes=3:4)
plot(res, choix="var", title="Graphe des variables", axes=3:4)
```

\newpage

# Graphe avec s�lection des individus

```select="cos2 0.7"``` : s�lectionne les individus qui ont, sur le plan trac�, une qualit� de projection sup�rieure � 0.7

```select="cos2 5"``` : s�lectionne les 5 individus qui ont la meilleure  qualit� de projection sur le plan trac�

```select="contrib 5"``` : s�lectionne les 5 individus qui ont le plus contribu� � la construction du plan trac�

```select=c("nom1","nom2")``` : s�lectionne les individus par leur nom

```{r}
plot(res, cex=0.8, habillage=13, select="cos2 0.7")
plot(res, cex=0.8, habillage=13, select="contrib 5")
plot(res, cex=0.8, habillage=13, select=c("Clay","Karpov"))
```

# Graphe du cercle des corr�lations avec s�lection des variables
```{r}
plot(res, choix="var", select="contrib 5")
```

\newpage

# Graphe avec s�lection des individus, des tailles de police diff�rentes pour les titres, des ombres sous les points
```{r}
plot(res, cex=0.8, habillage=13, select="cos2 0.7", title="Performances au d�cathlon", 
     cex.main=1.1, cex.axis=0.9, shadow=TRUE, auto="y")
```