---
title: Analyse Factorielle Multiple (AFM) avec FactoMineR sur la description sensorielle
  de 10 vins par 3 jurys
author: "Fran�ois Husson"
output:
  word_document: default
  pdf_document:
    fig_height: 6
    keep_tex: yes
  html_document: default
---


# Importation du jeu de donn�es

```{r eval=FALSE}
vins <- read.table("AnaDo_JeuDonnees_VinsJury.csv", 
      header=TRUE, sep=";",dec=".", row.names=1, check.names=FALSE, fileEncoding="latin1")
```
```{r echo=FALSE}
vins <- read.table("C:/Users/husson/Documents/home/huss/Enseign/cours/Films/Mooc_anado/Donnees/AnaDo_JeuDonnees_VinsJury.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 eval=FALSE}
summary(vins)
```

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

# L'AFM sans groupe suppl�mentaire
```{r}
res <- MFA(vins[,2:58], group=c(27,15,15), type=rep("s",3), 
           name.group=c("Expert","Etudiant","Conso"))
```

# L'AFM avec groupe suppl�mentaire
```{r}
res <- MFA(vins, group=c(1,27,15,15,60), type=c("n",rep("s",4)), num.group.sup=c(1,5),
           name.group=c("C�page","Expert","Conso","Etudiant","Pr�f�rence"),graph=FALSE)
```

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)
```

# Description des dimensions
```{r}
dimdesc(res)
```

# Graphe des groupes de variables
```{r}
plot(res,choix="group", title="Graphe des groupes")
```

# Graphe des individus
```{r}
plot(res, title="Graphe des individus")
```

# Graphe des variables
```{r}
plot(res,choix="var", invisible="quanti.sup", title="Graphe des variables actives")
```

# Graphe avec une s�lection de variables
```{r}
selection = c(grep("passion",rownames(res$quanti.var$coord),fixed=TRUE),
    grep("Acide",rownames(res$quanti.var$coord),fixed=TRUE),
    grep("Sucree",rownames(res$quanti.var$coord),fixed=TRUE))
plot(res,choix="var",select=selection,invisible="quanti.sup")

plot(res,choix="var", invisible="quanti", habillage="none", lab.var=FALSE, 
     title="Graphe des variables suppl�mentaires")
```

# Graphe des points partiels
```{r}
plot(res,choix="ind", partial="all", title="Graphe des points partiels")
```

# Graphe des axes partiels
```{r}
plot(res,choix="axes", title="Graphe des axes partiels")
plot(res, cex=0.8, invisible="ind", partial="all", title="Graphe des individus")
```

# Coloriage des individus en fonction de leur modalit�
```{r}
plot(res,choix="ind",habillage="cepage", title="Graphe des individus")
```

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