diff --git a/INSA/TP anadon/TP2-StatDesc.html b/INSA/TP anadon/TP2-StatDesc.html deleted file mode 100644 index 258241c..0000000 --- a/INSA/TP anadon/TP2-StatDesc.html +++ /dev/null @@ -1,2139 +0,0 @@ - - - - - - - - - - - - - -TP2 - Statistique Descriptive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-
-
- -
- - - - - - - - -

Ce TP a pour objectif de mener l’étude descriptive uni- et -bi-dimensionnelle du jeu de données wine disponible sous -Moodle. Vous rédigerez les réponses et vos observations dans le script -.Rmd du TP au fur et à mesure. Vous pourrez compiler votre script à la -fin du TP pour obtenir un compte-rendu du TP.

-

Remarque : pensez à enlever les “eval=F” au fur et à mesure de -l’avancement dans le TP pour avoir les résultats dans votre compte-rendu -final de TP.

-
-

1 Données

-

On va étudier le jeu de données wine disponible sur -la page moodle du cours. Commencez par récupérer ce jeu de données et -sauvegardez le fichier dans votre dossier de travail.

-

Le jeu de données wine comprend des mesures -physico-chimiques réalisées sur un échantillon de \(600\) vins (rouges et blancs) du -Portugal. Ces mesures sont complétées par une évaluation sensorielle de -la qualité par un ensemble d’experts. Chaque vin est décrit par les -variables suivantes :

-
    -
  • Qualite : son évaluation sensorielle par les experts -(“bad”,“medium”,“good”),
  • -
  • Type : son type (1 pour un vin rouge, 0 pour un vin -blanc),
  • -
  • AcidVol : la teneur en acide volatile (en g/dm3 d’acide -acétique),
  • -
  • AcidCitr : la teneur en acide citrique (en g/dm3),
  • -
  • SO2lbr : le dosage du dioxyde de soufre libre (en -mg/dm3),
  • -
  • SO2tot : le dosage du dioxyde de soufre total (en -mg/dm3),
  • -
  • Densite : la densité (en g/cm3),
  • -
  • Alcool : le degré d’alcool (en % Vol.).
  • -
-

Dans un premier temps, commencez par charger le jeu de données à -l’aide de la fonction read.table().

-
wine <- read.table("wine.txt",header=TRUE)
-

Vous pouvez voir les premières lignes du jeu de données à l’aide de -la fonction head()

-
head(wine)
-
     Qualite Type AcidVol AcidCitr SO2lbr SO2tot Densite Alcool
-1352  medium    1    0.62     0.01      8     46 0.99332   11.8
-5493  medium    0    0.34     0.10     17     63 0.99370    9.2
-5153  medium    0    0.22     0.22     39    110 0.99855    9.0
-5308  medium    0    0.35     0.46     61    183 0.99786    9.0
-3866  medium    0    0.42     0.32     20    167 0.99479   10.6
-694   medium    1    0.48     0.32     21    122 0.99840    9.4
-

Question : Contrôlez la dimension du jeu de données -(c’est-à-dire le nombre d’individus et le nombre de variables) ? Vous -pouvez vous aider des fonctions dim(), -nrow()et ncol().

-
dim(wine)
-
[1] 600   8
-
nrow(wine)
-
[1] 600
-
ncol(wine)
-
[1] 8
-

Question : Contrôlez que l’objet wine -est bien de type data.frame (commande is.data.frame()) ? -Remarquons que l’on peut obtenir les noms des variables grâce à la -commande names(wine) ou colnames(wine). Plus -largement, on peut utiliser la commande attributes().

-
is.data.frame(wine)
-
[1] TRUE
-
names(wine)
-
[1] "Qualite"  "Type"     "AcidVol"  "AcidCitr" "SO2lbr"   "SO2tot"   "Densite" 
-[8] "Alcool"  
-
colnames(wine)
-
[1] "Qualite"  "Type"     "AcidVol"  "AcidCitr" "SO2lbr"   "SO2tot"   "Densite" 
-[8] "Alcool"  
-

Question : Quelle est la nature de chaque variable ? -Vous pouvez vous aider de la commande str().

-
str(wine)
-
'data.frame':   600 obs. of  8 variables:
- $ Qualite : chr  "medium" "medium" "medium" "medium" ...
- $ Type    : int  1 0 0 0 0 1 0 0 0 0 ...
- $ AcidVol : num  0.62 0.34 0.22 0.35 0.42 0.48 0.21 0.28 0.3 0.4 ...
- $ AcidCitr: num  0.01 0.1 0.22 0.46 0.32 0.32 0.32 0.14 0.25 0.42 ...
- $ SO2lbr  : num  8 17 39 61 20 21 39 64 21 41 ...
- $ SO2tot  : int  46 63 110 183 167 122 113 159 124 176 ...
- $ Densite : num  0.993 0.994 0.999 0.998 0.995 ...
- $ Alcool  : num  11.8 9.2 9 9 10.6 9.4 10.2 10 10.8 9.4 ...
-

Attention, il faut bien préciser à R les variables qui doivent être -considérées comme qualitatives. On utilise donc la fonction -as.factor() sur les variables Qualite et -Type. On va aussi en profiter pour renommer les modalités de la -variable Type en blancet rouge.

-
wine$Qualite<-as.factor(wine$Qualite)
-wine$Type<-factor(wine$Type,labels=c("blanc","rouge"))
-head(wine)
-
     Qualite  Type AcidVol AcidCitr SO2lbr SO2tot Densite Alcool
-1352  medium rouge    0.62     0.01      8     46 0.99332   11.8
-5493  medium blanc    0.34     0.10     17     63 0.99370    9.2
-5153  medium blanc    0.22     0.22     39    110 0.99855    9.0
-5308  medium blanc    0.35     0.46     61    183 0.99786    9.0
-3866  medium blanc    0.42     0.32     20    167 0.99479   10.6
-694   medium rouge    0.48     0.32     21    122 0.99840    9.4
-

On peut obtenir un résumé rapide du jeu de données à l’aide de la -fonction summary()

-
summary(wine)
-
   Qualite       Type        AcidVol          AcidCitr          SO2lbr      
- bad   : 19   blanc:425   Min.   :0.1000   Min.   :0.0000   Min.   :  2.00  
- good  :110   rouge:175   1st Qu.:0.2400   1st Qu.:0.2400   1st Qu.: 15.75  
- medium:471               Median :0.3000   Median :0.3000   Median : 27.00  
-                          Mean   :0.3512   Mean   :0.3141   Mean   : 29.41  
-                          3rd Qu.:0.4300   3rd Qu.:0.3900   3rd Qu.: 41.00  
-                          Max.   :1.0400   Max.   :1.0000   Max.   :112.00  
-     SO2tot         Densite           Alcool     
- Min.   :  7.0   Min.   :0.9875   Min.   : 8.00  
- 1st Qu.: 68.0   1st Qu.:0.9925   1st Qu.: 9.50  
- Median :114.5   Median :0.9949   Median :10.40  
- Mean   :111.2   Mean   :0.9947   Mean   :10.49  
- 3rd Qu.:154.0   3rd Qu.:0.9970   3rd Qu.:11.30  
- Max.   :278.0   Max.   :1.0030   Max.   :14.00  
-
-
-

2 Présentation de -ggplot2

-

Avant de commencer l’analyse uni- et bi-dimensionnelle du jeu de -données, on va ici donner quelques notions sur les graphiques avec -ggplot2 pour comprendre la suite.

-

ggplot2 est une extension dédiée -aux graphiques. Elle est basée sur une syntaxe particulière (il faut -oublier les graphiques de base de R) mais robuste et efficace pour la -construction de graphiques complexes. Elle part du principe (comme tout -package de tidyverse) que les données relatives au graphique sont -stockées dans un tableau (data.frame ou tibble).

-

Un graphique en ggplot2 s’initialise avec la fonction -ggplot() qui prend en argument le jeu de données étudié. -Par exemple,

-
gEx <- ggplot(data=wine)
-

Pour l’instant, on ne voit rien mais pourtant l’objet -gEx contient des informations:

-
summary(gEx)
-
data: Qualite, Type, AcidVol, AcidCitr, SO2lbr, SO2tot, Densite, Alcool
-  [600x8]
-faceting: <ggproto object: Class FacetNull, Facet, gg>
-    compute_layout: function
-    draw_back: function
-    draw_front: function
-    draw_labels: function
-    draw_panels: function
-    finish_data: function
-    init_scales: function
-    map_data: function
-    params: list
-    setup_data: function
-    setup_params: function
-    shrink: TRUE
-    train_scales: function
-    vars: function
-    super:  <ggproto object: Class FacetNull, Facet, gg>
-
names(gEx)
-
[1] "data"        "layers"      "scales"      "mapping"     "theme"      
-[6] "coordinates" "facet"       "plot_env"    "labels"     
-
gEx$layers
-
list()
-

mais pour l’instant son layers est vide.

-

On ajoute ensuite des éléments graphiques, appelés geom, -à l’objet graphique grâce à l’opérateur + et on précise à -l’aide de la fonction aes() les données à utiliser en -argument du geom. Par exemple, si on veut tracer le nuage -de points entre les variables Densite et -Alcool :

-
ggplot(data=wine,aes(x=Densite,y=Alcool))+
-   geom_point()
-

-

Parmi les geom les plus utilisés, on peut citer

-
    -
  • geom_point() (nuage de points)
  • -
  • geom_line()(trace des lignes)
  • -
  • geom_bar() (représentation en bâtons)
  • -
  • geom_boxplot() (boxplot)
  • -
  • geom_violin() (violin plot)
  • -
  • geom_histogram() (histogramme)
  • -
  • geom_density() (densité)
  • -
  • geom_smooth()
  • -
-

On peut ajouter un mappage, c’est à dire une mise en -relation entre un attribut graphique d’un geom et une -variable du tableau de données. Par exemple, on peut mettre des couleurs -à un nuage de points en fonction d’une variable qualitative, … Il faut -bien distinguer un mappage d’une modification d’un attribut graphique -sans lien avec une variable. Une règle importante à retenir est donc

-
    -
  • pour définir un mappage (relation entre les valeurs d’une variable -et un attribut graphique), on le déclare dans aes()
  • -
  • pour modifier un attribut graphique de la même manière pour tous les -points, on le définit en-dehors de la fonction aes().
  • -
-

Par exemple,

-
ggplot(data=wine)+
-   geom_point(aes(x=Densite,y=Alcool,color=Type))
-

-
ggplot(data=wine)+
-   geom_point(aes(x=Densite,y=Alcool),color="blue")
-

-

On peut représenter plusieurs geom sur un même graphique -simultanément, il suffit d’utiliser l’opérateur + pour les -ajouter au fur et à mesure. Par exemple,

-
ggplot(data=wine)+
-  geom_violin(aes(x=Qualite,y=Alcool))+
-   geom_point(aes(x=Qualite,y=Alcool), col = "blue", alpha = 0.2,position="jitter")
-

-

Les scales permettent de modifier la façon dont un attribut -graphique est lié aux valeurs d’une variable. Pour les modifier, on -ajoute un nouvel élément de la forme -scale_<attribut>_<type> à l’objet graphique -ggplot2 avec +. Les fonctions scale les plus -connues sont :

-
    -
  • scale_size() (avec son argument range) -pour modifier les tailles minimales, maximales, …
  • -
  • scale_x() et scale_y() pour modifier l’axe -xet l’axe y respectivement
  • -
  • scale_x_continuous() (resp. -scale_x_discrete()) pour modifier l’axe des x -dans le cas d’une variable quantitative (resp. une variable -qualitative)
  • -
  • scale_y_continuous() (resp. -scale_y_discrete()) pour modifier l’axe des y -dans le cas d’une variable quantitative (resp. une variable -qualitative)
  • -
  • scale_color() pour modifier les couleurs de dessin
  • -
  • scale_fill() pour modifier les couleurs de -remplissage
  • -
-

Pour les couleurs, on peut spécifier un gradient de couleur sur une -variable quantitative avec scale_color_gradient(), modifier -manuellement la palette de couleur avec -scale_color_manual(), faire appel à une palette de couleur -prédéfinie (par exemple en utilisant le package viridis avec scale_color_viridis, en -s’appuyant sur les palettes disponibles dans ColorBrewer avec scale_color_brewer()), -…

-
ggplot(data=wine)+
-  geom_point(aes(x=Alcool,y=Densite,size=AcidVol,color=Type))+
-  scale_size("Acide vol.", range = c(0,1.5),breaks=seq(0,1.5,0.2)) +
-  scale_x_continuous("Alcool",limits=c(8,16)) +
-  scale_y_continuous("Densité",limits=c(0.985,1.01))
-

-

Remarque : on peut modifier certains éléments avec une commande -spécifique comme

-
    -
  • ggtitle() pour modifier le titre
  • -
  • xlab()et ylab() pour modifier l’intituler -de l’axe des abscisses et des ordonnées respectivement
  • -
-

En bref, les possibles avec ggplot2 sont infinis car de -nombreux éléments sont personnalisables. Voici quelques références pour -les graphiques en ggplot2 parmi les nombreuses ressources -disponibles sur le web :

- -
-
-

3 Etude statistique -unidimensionnelle

-
-

3.1 Pour une variable -qualitative

-

Nous nous intéressons dans cette partie aux deux variables -qualitatives Type et Qualite.

-

Question : A l’aide des commandes -table(), summary() et levels(), -donnez un résumé de la variable Type. Quels sont les -modalités du facteur ?

-
# A COMPLETER
-summary(wine$Type)
-
blanc rouge 
-  425   175 
-
levels(wine$Type
-       )
-
[1] "blanc" "rouge"
-
table(wine$Type)
-

-blanc rouge 
-  425   175 
-

Question : A l’aide du code suivant, résumez -graphiquement la variable Type par une représentation par -secteurs ou un diagramme en barres. Interprétez les résultats.

-
g1<-ggplot(wine, aes(x=Type))+ 
-  geom_bar()+
-  ylab("")+ggtitle("Effectifs")
-g2<-ggplot(wine, aes(x = Type)) +  
-  geom_bar(aes(y = (..count..)/sum(..count..)))+ylab("")+ggtitle("Frequences")
-
-df <- data.frame(group = levels(wine$Type),
-                 value = as.vector(table(wine$Type))/nrow(wine))
-g3<-ggplot(df, aes(x="", y=value, fill=group))+
-  geom_bar(width = 1, stat = "identity")+ 
-  coord_polar("y", start=0)+ 
-  theme(legend.position="bottom")
-grid.arrange(g3,g1,g2,ncol=3)
-

-

Question : La variable Qualite est une -variable qualitative ordinale. On peut donc utiliser les effectifs -cumulés et les fréquences cumulées. Pour tracer les fréquences cumulées, -il faut que l’ordre des modalités soit bien compris par R. Ici, on -commence par réorganiser les modalités en bad, -medium et good. A l’aide des codes suivants, -étudiez la variable Qualite.

-
wine$Qualite <- fct_relevel(wine$Qualite,"bad","medium","good")
-
-EffQual=as.vector(table(wine$Qualite))
-FreqQual= data.frame(Eff = EffQual, Freq = EffQual/length(wine$Qualite), FreqCumul=cumsum(EffQual)/length(wine$Qualite))
-rownames(FreqQual)=levels(wine$Qualite)
-
-knitr::kable(FreqQual, caption = 'Description de la variable Qualite',booktabs = TRUE,digits=3)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Description de la variable Qualite
EffFreqFreqCumul
bad190.0320.032
medium4710.7850.817
good1100.1831.000
-
df <- data.frame(Qualite = levels(wine$Qualite), value = table(wine$Qualite),
-    valuecumul = 100 * cumsum(prop.table(table(wine$Qualite))))
-df$Qualite <- fct_relevel(df$Qualite, "bad", "medium", "good")
-
-df <- data.frame(df, freq = df$value.Freq/nrow(wine))
-g1 <- ggplot(wine) + geom_bar(aes(x = Qualite)) + ggtitle("Effectifs")+xlab("Qualite")
-g2 <- ggplot(wine) + geom_bar(aes(x = Qualite, y = ..prop.., group = 1)) + ggtitle("Frequences")+xlab("Qualite")
-g3 <- ggplot(df, aes(x = Qualite, y = valuecumul)) + geom_bar(stat = "identity") +
-    ggtitle("Fréquences cumulées")
-
-g4 <- ggplot(df, aes(x = "", y = freq, fill = Qualite)) + geom_bar(width = 1, stat = "identity") +
-    coord_polar("y", start = 0)
-grid.arrange(g1, g2, g3, g4, ncol = 2)
-

-
-
-

3.2 Pour une variable -quantitative

-

Pour cette section, on se focalise sur la variable -Alcool.

-
-

3.2.1 Indicateurs -statistiques

-

Question : Que calculent les commandes -mean(), median(), var(), -sd(), range() ? Calculez l’étendue des -données.

-
mean(wine$Alcool)
-
[1] 10.48592
-
median(wine$Alcool)
-
[1] 10.4
-
var(wine$Alcool)
-
[1] 1.316059
-
sd(wine$Alcool)
-
[1] 1.147196
-
range(wine$Alcool)
-
[1]  8 14
-

Question : Etudiez les sorties des commandes -summary(wine$Alcool) et quantile(wine$Alcool). -Donnez également l’écart interquartile et les valeurs adjacentes.

-
summary(wine$Alcool)
-
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-   8.00    9.50   10.40   10.49   11.30   14.00 
-
quantile(wine$Alcool,0.75,names=FALSE)-quantile(wine$Alcool,0.25,names = FALSE)
-
[1] 1.8
-
quantile(wine$Alcool)
-
  0%  25%  50%  75% 100% 
- 8.0  9.5 10.4 11.3 14.0 
-
-
-

3.2.2 Représentations -graphiques

-

Le but de la statistique exploratoire est de synthétiser, résumer et -structurer l’information contenue dans des données. On utilise pour cela -des représentations de données sous forme de graphiques.

-

Question : On peut utiliser la représentation par -histogramme. Tapez H<-hist(wine$Alcool) et commentez les -différents attributs de H.

-
H<-hist(wine$Alcool)
-

-

Pour tracer un histogramme avec ggplot, vous pouvez utiliser le code -suivant. Commentez.

-
g1<-ggplot(wine,aes(x=Alcool))+
-  geom_histogram(bins=15,color="black",fill="white")+
-  ggtitle("Histo. des effectifs")+
-  ylab("Frequency")+xlab("Alcool")
-g2<-ggplot(wine,aes(x=Alcool))+
-  geom_histogram(aes(y=..density..),bins=15,color="black", fill="white")+
-  ggtitle("Histo. des frequences")+
-  ylab("Density")+xlab("Alcool")
-grid.arrange(g1,g2,ncol=2)
-

-

Question : A l’aide du code suivant, représentez un -boxplot de la variable “Alcool”. Que remarquez-vous ? Comparez avec les -valeurs adjacentes calculées précédemment.

-
ggplot(wine,aes(y=Alcool))+geom_boxplot()
-

-

Pour tracer les boxplots de toutes les variables quantitatives en -même temps, il faut réorganiser en amont le jeu de données.

-
wineaux<-melt(wine[,-c(1,2)])
-ggplot(wineaux,aes(x=variable,y=value))+
-  geom_boxplot()
-

-

Question : En vous aidant de l’aide de R et des -résultats de la section précédente, tapez -B<-boxplot(wine$Alcool) et commentez les différents -attributs de B.

-
B<-boxplot(wine$Alcool)
-

-
-
-
-
-

4 Statistiques -descriptives bidimensionnelles

-
-

4.1 Entre 2 variables -quantitatives

-

Question : Calculez la matrice de corrélation des -variables quantitatives (commande cor()) ou la matrice de -variance-covariance (commandes var() ou -cov()). Représentez graphiquement les corrélations à l’aide -de la fonction corrplot() de la librairie -corrplot. Vous pourrez utiliser l’option -method="ellipse" pour une meilleure lisibilité.

-
print('Correlation')
-
[1] "Correlation"
-
cor(wine[,-c(1,2)])
-
             AcidVol   AcidCitr      SO2lbr      SO2tot     Densite      Alcool
-AcidVol   1.00000000 -0.4107821 -0.37071293 -0.41542773  0.29814510 -0.02208799
-AcidCitr -0.41078214  1.0000000  0.14764139  0.20724080  0.12360061 -0.03949990
-SO2lbr   -0.37071293  0.1476414  1.00000000  0.71394673 -0.03516798 -0.14830238
-SO2tot   -0.41542773  0.2072408  0.71394673  1.00000000 -0.03003947 -0.24679350
-Densite   0.29814510  0.1236006 -0.03516798 -0.03003947  1.00000000 -0.67624598
-Alcool   -0.02208799 -0.0394999 -0.14830238 -0.24679350 -0.67624598  1.00000000
-
print('Covariance')
-
[1] "Covariance"
-
cov(wine[,-c(1,2)])
-
               AcidVol      AcidCitr        SO2lbr        SO2tot       Densite
-AcidVol   0.0268978296 -1.063582e-02  -1.077438119 -3.827641e+00  1.429567e-04
-AcidCitr -0.0106358172  2.492306e-02   0.413052087  1.838032e+00  5.704787e-05
-SO2lbr   -1.0774381191  4.130521e-01 314.045063996  7.107860e+02 -1.822055e-03
-SO2tot   -3.8276406511  1.838032e+00 710.785976628  3.156124e+03 -4.933866e-03
-Densite   0.0001429567  5.704787e-05  -0.001822055 -4.933866e-03  8.547444e-06
-Alcool   -0.0041557797 -7.153760e-03  -3.014961677 -1.590554e+01 -2.268091e-03
-                Alcool
-AcidVol   -0.004155780
-AcidCitr  -0.007153760
-SO2lbr    -3.014961677
-SO2tot   -15.905542015
-Densite   -0.002268091
-Alcool     1.316059100
-
help(corrplot)
-corrplot(cor(wine[,-c(1,2)]),method = "ellipse")
-

-

Question : Interprétez les résultats.

-

=> il y a une forte correlation negative entre l’Alcool et la -densié

-

Question : Représentez graphiquement la -Densite en fonction de l’Alcool à l’aide de la -commande geom_point(). Au vu de ce graphique, les variables -sont-elles corrélées ? Vous pourrez ajouter la commande -+geom_smooth(method="lm") pour tracer la droite de -régression linéaire. Est-ce cohérent avec la corrélation calculée -ci-dessus ?

-
ggplot(data=wine)+
-  geom_point(aes(x=Alcool,y=Densite))+
-    geom_smooth(aes(x=Alcool,y=Densite),method="lm")
-

-
-
-

4.2 Entre une variable -quantitative et une variable qualitative

-

Question : Représentez le boxplot de la variable -Alcool pour chaque modalité de la variable qualitative -Type. Même question avec Qualite. Interprétez les -résultats.

-
ggplot(wine)+
-  geom_boxplot(aes(x=Type,y=Alcool))
-

-
ggplot(wine)+
-  geom_boxplot(aes(x=Qualite,y=Alcool))
-

-

Question : Explorez les autres combinaisons de -variables quantitatives avec les variables qualitatives afin de -déterminer les variables fortement liées.

-
ggplot(wine)+
-  geom_boxplot(aes(x=Type,y=AcidVol))+
-  geom_boxplot(aes(x=Qualite,y=AcidVol))
-

-
ggplot(wine)+
-  geom_boxplot(aes(x=Type,y=Densite))+
-  geom_boxplot(aes(x=Qualite,y=Densite))
-

-
ggplot(wine)+
-  geom_boxplot(aes(x=Type,y=AcidCitr))+
-  geom_boxplot(aes(x=Qualite,y=AcidCitr))
-

-

Question : A l’aide de la fonction -eta2() de la librairie BioStatR, calculez le -rapport de corrélation \(\eta^2\) entre -chaque variable quantitative et la variable Type. Commentez. -Faites de même avec la variable Qualité.

-
eta2(x=wine$AcidVol,y=wine$Type)
-
[1] 0.4481639
-
eta2(x=wine$AcidCitr,y=wine$Type)
-
[1] 0.03693554
-
eta2(x=wine$SO2lbr,y=wine$Type)
-
[1] 0.2153399
-
eta2(x=wine$SO2tot,y=wine$Type)
-
[1] 0.4580193
-
eta2(x=wine$Alcool,y=wine$Type)
-
[1] 0.003022674
-
eta2(x=wine$Densite,y=wine$Type)
-
[1] 0.214444
-
-
-

4.3 Entre deux variables -qualitatives

-

Question : Analysez la table de contingence entre -les deux variables qualitatives Type et Qualite avec -la commande table(). Ajoutez les effectifs marginaux avec -la commande addmargins().

-
a=table(wine$Qualite,wine$Type)
-
-addmargins(a)
-
        
-         blanc rouge Sum
-  bad       17     2  19
-  medium   319   152 471
-  good      89    21 110
-  Sum      425   175 600
-

Question : Calculez et représentez les -profils-lignes à l’aide des fonctions -prop.table(..., margin = ...)et mosaicplot. -Interprétez les résultats. Faites de même avec les profils-colonnes.

-
prop.table(table(wine$Qualite,wine$Type), margin = 1)
-
        
-             blanc     rouge
-  bad    0.8947368 0.1052632
-  medium 0.6772824 0.3227176
-  good   0.8090909 0.1909091
-
help("prop.table")
-
-
- - - -
-
- -
- - - - - - - - - - - - - - - -