Move all files

This commit is contained in:
2024-09-17 22:36:02 +02:00
parent 41de349593
commit aa50cc4e52
74 changed files with 85 additions and 1251 deletions

View File

@@ -0,0 +1,243 @@
---
title: "TP3 : Suite ACP"
output:
html_document: default
pdf_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
Exercice 1
----------------------------------------------------------------------------------------
```{r}
Notes<- matrix(c(6,6,5,5.5,8,8,8,8,6,7,11,9.5,14.5,14.5,15.5,15,14,14,12,12.5,11,
10,5.5,7,5.5,7,14,11.5,13,12.5,8.5,9.5,9,9.5,12.5,12,
12,11.5,14,12,6,8,8,7,15,16,14,12),nrow=12,byrow=T)
rownames(Notes) <- c("Rémi","Thomas","Gaëtan","Ahmed","Louise","Kylian",
"Antoine","Raphaël","Jean","Rayan","Matthieu","Sophie")
colnames(Notes) <- c("Math","Phys","Fr","Ang")
```
* Effectuer l'analyse ACP
```{r}
library(FactoMineR)
res.acp <- PCA(Notes, scale.unit=TRUE)
```
```{r}
summary(res.acp, nbind = Inf, nbelements = Inf)
```
# Individus : Contribution moyenne, Axes 1 et 2, Qualité de représentation
```{r}
mean(res.acp$ind$contrib)
indiv_contrib_axe_1 <- sort(res.acp$ind$contrib[,1], decreasing = TRUE)
head(indiv_contrib_axe_1, 3)
indiv_contrib_axe_2 <- sort(res.acp$ind$contrib[,2], decreasing = TRUE)
head(indiv_contrib_axe_2, 3)
mal_representes <- rownames(res.acp$ind$cos2)[rowSums(res.acp$ind$cos2[,1:2]) <= mean(res.acp$ind$cos2[,1:2])]
mal_representes
```
# Variables : Contribution moyenne, Axes 1 et 2, Qualité de représentation
```{r}
mean(res.acp$var$contrib)
var_contrib_axe_1 <- sort(res.acp$var$contrib[,1], decreasing = TRUE)
head(var_contrib_axe_1, 3)
var_contrib_axe_2 <- sort(res.acp$var$contrib[,2], decreasing = TRUE)
head(var_contrib_axe_2, 3)
mal_representes <- rownames(res.acp$var$cos2[,1:2])[rowSums(res.acp$var$cos2[,1:2]) <= mean(res.acp$var$cos2[,1:2])]
mal_representes
```
Le premier axe va donc classer les individus selon leur moyenne alors que le second axe va classer les individus selon leur profil : scientifique ou littéraire.
----------------------------------------------------------------------------------------
Exercice 2
Six marques de jus dorange 100% pur jus présentes dans les supermarchés français ont été évaluées par un panel dexperts selon sept variables sensorielles (intensité de lodeur, typicité de lodeur, teneur en pulpe, intensité du goût, acidité, amertume, douceur). Ces 6 marques sont Pampryl amb. (conservation à température ambiante), Tropicana amb., Fruvita amb., Joker amb., Tropicana fr. (conservation au frais), Pampryl fr.
1) Importer le jeu de données "jusdorange.csv" et appeler le "jus".
```{r}
jus <- read.table("jusdorange.csv", header = TRUE, sep = ";", row.names = 1)
```
2) Créer le tableau individus-variables "jus" associé et afficher le. (Deja inclus dans question 1.)
```{r}
# jus_table <- jus[-1]
# rownames(jus_table) <- jus[,1]
```
3) Afficher le descriptif des variables.
```{r}
summary(jus)
```
4) Afficher les 6 premières lignes de "jus".
```{r}
jus[1:6,]
```
5) Afficher la matrice de corrélation associée à ce jeu données "jus" Commenter brièvement les corrélations .
```{r}
cor(jus)
```
6) Lancer FactoMineR sur ce jeu de données afin de faire l'ACP . On prendra soin d'afficher les résultats de l'ACP avec une décimale seulement, pour les 4 premières composantes principales, toutes les variables et tous les individus .
```{r}
res.jus <- PCA(jus, scale.unit=TRUE)
```
```{r}
summary(res.jus, nbelements = Inf, nbind = Inf, ncp = 4, nb.dec = 1)
```
7) Faîtes l'analyse statistique complète de l'ACP associée . On prendra soin de justifier le nombre d'axes factoriels à retenir, de faire l'analyse des individus, des variables et la synthèse.
# Eboulis valeurs propres
```{r}
eigen_values <- res.jus$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)
```
Par le critère de Kaiser, on garde les deux premières valeurs propres, donc on garde deux axes principaux
# Individus : Contribution moyenne, Axes, Qualité de représentation
```{r}
mean(res.jus$ind$contrib)
indiv_contrib_axe_1 <- sort(res.jus$ind$contrib[,1], decreasing = TRUE)
head(indiv_contrib_axe_1, 3)
indiv_contrib_axe_2 <- sort(res.jus$ind$contrib[,2], decreasing = TRUE)
head(indiv_contrib_axe_2, 3)
mal_representes <- rownames(res.acp$ind$cos2)[rowSums(res.jus$ind$cos2[,1:2]) <= mean(res.jus$ind$cos2[,1:2])]
mal_representes
```
# Variables : Contribution moyenne, Axes, Qualité de représentation
```{r}
mean(res.jus$var$contrib)
var_contrib_axe_1 <- sort(res.jus$var$contrib[,1], decreasing = TRUE)
head(var_contrib_axe_1, 3)
var_contrib_axe_2 <- sort(res.jus$var$contrib[,2], decreasing = TRUE)
head(var_contrib_axe_2, 3)
mal_representes <- rownames(res.jus$var$cos2[,1:2])[rowSums(res.jus$var$cos2[,1:2]) <= 0.7]
mal_representes
```
Le premier axe décrit l'amertume ou la douceur du jus d'orange.
----------------------------------------------------------------------------------------
Exercice 3
* Importation des données (compiler ce qui est ci-dessous sans le modifier)
```{r}
library(FactoMineR)
data("decathlon")
decathlon<-decathlon[1:13, 1:10]
res.decathlon <- PCA(decathlon, scale.unit = TRUE)
```
```{r}
summary(res.decathlon, nbelements = Inf, nbind = Inf, ncp = 4, nb.dec = 1)
```
* Effectuer l'analyse ACP de ce jeu de données
# Eboulis valeurs propres
```{r}
eigen_values <- res.decathlon$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)
```
Par le critère de Kaiser, on garde les quatre premières valeurs propres, donc on garde quatre axes principaux
# Individus : Contribution moyenne, Axes, Qualité de représentation
```{r}
mean(res.decathlon$ind$contrib)
indiv_contrib_axe_1 <- sort(res.decathlon$ind$contrib[,1], decreasing = TRUE)
head(indiv_contrib_axe_1, 3)
indiv_contrib_axe_2 <- sort(res.decathlon$ind$contrib[,2], decreasing = TRUE)
head(indiv_contrib_axe_2, 3)
indiv_contrib_axe_3 <- sort(res.decathlon$ind$contrib[,3], decreasing = TRUE)
head(indiv_contrib_axe_3, 3)
indiv_contrib_axe_4 <- sort(res.decathlon$ind$contrib[,4], decreasing = TRUE)
head(indiv_contrib_axe_4, 3)
mal_representes <- rownames(res.decathlon$ind$cos2)[rowSums(res.decathlon$ind$cos2[,1:4]) <= 0.8] # mean(res.decathlon$ind$cos2[,1:4]
mal_representes
```
# Variables : Contribution moyenne, Axes, Qualité de représentation
```{r}
mean(res.decathlon$var$contrib)
var_contrib_axe_1 <- sort(res.decathlon$var$contrib[,1], decreasing = TRUE)
head(var_contrib_axe_1, 3)
var_contrib_axe_2 <- sort(res.decathlon$var$contrib[,2], decreasing = TRUE)
head(var_contrib_axe_2, 3)
var_contrib_axe_3 <- sort(res.decathlon$var$contrib[,3], decreasing = TRUE)
head(var_contrib_axe_3, 3)
var_contrib_axe_4 <- sort(res.decathlon$var$contrib[,4], decreasing = TRUE)
head(var_contrib_axe_4, 3)
mal_representes <- rownames(res.decathlon$var$cos2[,1:4])[rowSums(res.decathlon$var$cos2[,1:4]) <= 0.8]
mal_representes
```

View File

@@ -0,0 +1,13 @@
Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: Sweave
LaTeX: pdfLaTeX

View File

@@ -0,0 +1,7 @@
;intensite-odeur;typicite-odeur;pulpe;intensite-gout;acidite;amertume;douceur
Pampryl amb.;2.82;2.53;1.66;3.46;3.15;2.97;2.6
Tropicana amb.;2.76;2.82;1.91;3.23;2.55;2.08;3.32
Fruvita amb.;2.83;2.88;4;3.45;2.42;1.76;3.38
Joker amb.;2.76;2.59;1.66;3.37;3.05;2.56;2.8
Tropicana fr.;3.2;3.02;3.69;3.12;2.33;1.97;3.34
Pampryl fr. ;3.07;2.73;3.34;3.54;3.31;2.63;2.9
1 intensite-odeur typicite-odeur pulpe intensite-gout acidite amertume douceur
2 Pampryl amb. 2.82 2.53 1.66 3.46 3.15 2.97 2.6
3 Tropicana amb. 2.76 2.82 1.91 3.23 2.55 2.08 3.32
4 Fruvita amb. 2.83 2.88 4 3.45 2.42 1.76 3.38
5 Joker amb. 2.76 2.59 1.66 3.37 3.05 2.56 2.8
6 Tropicana fr. 3.2 3.02 3.69 3.12 2.33 1.97 3.34
7 Pampryl fr. 3.07 2.73 3.34 3.54 3.31 2.63 2.9