--- title: "TP5_Enonce" author: '' date: '' output: pdf_document: default html_document: default --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ```{r} rm(list=ls()) library(FactoMineR) ``` ---------------------------------------------------------------------------------------- Exercice 1 AFC sur le lien entre couleur des cheveux et ceux des yeux ```{r} data("HairEyeColor") ``` ```{r} HairEyeColor ``` ```{r} data <- apply(HairEyeColor, c(1, 2), sum) n <- sum(data) data ``` ```{r} barplot(data,beside=TRUE,legend.text =rownames(data),main="Effectifs observés",col=c("black","brown","red","yellow")) ``` 1) Commentez le barplot ci-dessus ? S'attend on à une situation d'indépendance ? On voit que la couleur des yeux a une incidence sur la couleur des cheveux car il n'y a pas la même proportion de blond pour les yeux bleus que pour les autres couleurs de yeux. On peut donc s'attendre à une situation de dépendance entre ces deux variables. 2) Etudiez cette situation par un test du chi-deux d'indépendance ```{r} test <- chisq.test(data) test ``` 3) Affichez le tableau des effectifs théoriques et la contribution moyenne ```{r} test$expected n_cases <- ncol(data) * nrow(data) contrib_moy <- 100/n_cases contrib_moy ``` 4) Calculer le tableau des contributions au khi-deux ```{r} contribs <- (test$observed - test$expected)**2 / test$expected * 100/test$statistic contribs ``` 5) Calculer le tableau des probabilités associé au tableau de contingence. ```{r} prob <- data/sum(data) prob ``` 6) Calculer le tableau des profils lignes et le profil moyen associé. -> Le profil ligne est une probabilité conditionnelle. ```{r} marginale_ligne <- apply(prob, 1, sum) profil_ligne <- prob / marginale_ligne profil_ligne_moyen <- apply(prob, 2, sum) marginale_ligne profil_ligne profil_ligne_moyen ``` 7) Calculer le tableau des profils colonnes et le profil moyen associé. ```{r} marginale_colonne <- apply(prob, 2, sum) profil_colonne <- t(t(prob) / marginale_colonne) profil_colonne_moyen <- apply(prob, 1, sum) marginale_colonne profil_colonne profil_colonne_moyen ``` 8) Que vaut l’inertie du nuage des profils lignes ? Celle du nuage des profils colonnes ? -> inertie : la variance des profils par rapport au profil moyen. l'inertie des lignes et la même que celle des colonnes. I = chi2/Nombre d'individus ```{r} inertie <- test$statistic/sum(data) inertie ``` 9) Lancer une AFC avec FactoMineR ```{r} library(FactoMineR) res.afc<-CA(data) summary(res.afc) plot(res.afc, invisible = "row") plot(res.afc, invisible = "col") ``` ```{r} ``` 10) Faire la construcution des éboulis des valeurs propres ```{r} eigen_values <- res.afc$eig bplot <- barplot( eigen_values[, 1], names.arg = 1:nrow(eigen_values), main = "Eboulis des valeurs propres", xlab = "Principal Components", ylab = "Eigenvalues", col = "lightblue" ) lines(x = bplot, eigen_values[, 1], type = "b", col = "red") abline(h=1, col = "darkgray", lty = 5) ``` 11) Effectuer l'analyse des correspondances ---------------------------------------------------------------------------------------- Exercice 2 AFC sur la répartition des tâches ménagères dans un foyer ```{r} data<-read.table("housetasks.csv",sep=";",header = TRUE) data ``` ```{r} barplot(as.matrix(data),beside=TRUE,legend.text=rownames(data),main="Effectifs observés",col=rainbow(length(rownames(data)))) ``` 1) Commentez le barplot ci-dessus ? S'attend on à une situation d'indépendance ? On voit que la place dans la famille a une incidence sur les taches de la famille car il n'y a pas la même proportion de Laundry chez la femme que pour les autres membres de la famille. On peut donc s'attendre à une situation de dépendance entre ces deux variables. 2) Etudiez cette situation par un test du chi-deux d'indépendance ```{r} data_house <- apply(data, c(1, 2), sum) test_house <- chisq.test(data_house) test_house ``` 3) Affichez le tableau des effectifs théoriques et la contribution moyenne ```{r} test_house$expected n_cases <- ncol(data_house) * nrow(data_house) contrib_moy_house <- 100/n_cases contrib_moy_house ``` 4) Calculer le tableau des contributions au khi-deux ```{r} contrib_house <- (test_house$observed - test_house$expected)**2 / test_house$expected * 100/test_house$statistic contrib_house ``` 5) Calculer le tableau des probabilités associé au tableau de contingence. ```{r} proba_house <- data_house / sum(data_house) proba_house ``` 6) Calculer le tableau des profils lignes et le profil moyen associé. ```{r} marginale_ligne <- apply(proba_house, 1, sum) profil_ligne <- proba_house / marginale_ligne profil_ligne_moyen <- apply(proba_house, 2, sum) marginale_ligne profil_ligne profil_ligne_moyen ``` 7) Calculer le tableau des profils colonnes et le profil moyen associé. ```{r} marginale_colonne <- apply(proba_house, 2, sum) profil_colonne <- t(t(proba_house) / marginale_colonne) profil_colonne_moyen <- apply(proba_house, 1, sum) marginale_colonne profil_colonne profil_colonne_moyen ``` 8) Que vaut l’inertie du nuage des profils lignes ? Celle du nuage des profils colonnes ? ```{r} inertie <- test_house$statistic / sum(data_house) inertie ``` 9) Lancer une AFC avec FactoMineR ```{r} res.afc<-CA(data) summary(res.afc,nbelements = Inf) plot(res.afc, invisible = "row") plot(res.afc, invisible = "col") ``` 10) Faire la construcution des éboulis des valeurs propres ```{r} eigen_values <- res.afc$eig bplot <- barplot( eigen_values[, 1], names.arg = 1:nrow(eigen_values), main = "Eboulis des valeurs propres", xlab = "Principal Components", ylab = "Eigenvalues", col = "lightblue" ) lines(x = bplot, eigen_values[, 1], type = "b", col = "red") abline(h=1, col = "darkgray", lty = 5) ``` 11) Effectuer l'analyse des correspondances Axe 1 : taches pour les femmes a gauche et les maris a droite Axe 2 : taches individuelles en haut, taches collectives au milieu et en bas