On charge le jeu de données
d <- read.csv2(file.choose())
head(d)
## cat_sociales aime_produit_laitier Note_hedonique_A Note_hedonique_B
## 1 Etudiant Oui 8 8
## 2 Etudiant Oui 7 7
## 3 Etudiant Oui 6 6
## 4 Etudiant Oui 6 6
## 5 Etudiant Oui 6 7
## 6 Etudiant Non 1 3
## Note_texture_A Note_texture_B Note_odeur_A Note_odeur_B
## 1 7 7 6 6
## 2 4 8 7 5
## 3 7 8 6 7
## 4 7 6 4 5
## 5 4 3 4 5
## 6 7 8 7 0
Question 1
#### a) Les effectifs des différentes catégories sociales
table(d$cat_sociales)
##
## Agriculteur Autres Cadres Etudiant Retraités
## 10 30 10 23 10
#### b) L’histogramme des notes au produit laitier B sur le critère « texture » ?
hist(d$Note_texture_B)
#### c) La moyenne des notes au produit laitier B sur le critère « odeur » ?
mean(d$Note_odeur_B)
## [1] 5.421687
#### d) La corrélation entre les notes au produit laitier A sur le critère « plaisir » et les notes au produit laitier A sur le critère « texture » ?
cor(d$Note_hedonique_A, d$Note_texture_A)
## [1] -0.02938273
Question 2
#### Etudiants
etudiants <- table(d[d$cat_sociales == "Etudiant",]$aime_produit_laitier)
prop.table(etudiants)
##
## Non Oui
## 0.2173913 0.7826087
#### Retraités
retraites <- table(d[d$cat_sociales == "Retraités",]$aime_produit_laitier)
prop.table(retraites)
##
## Non Oui
## 0.3 0.7
#### Etc.
Question 3
#### Méthode 1 : on crée un sous-tableau
# on sélectionne les lignes qui correspondent aux étudiants qui aiment les produits laitiers en général
x <- d[d$cat_sociales == "Etudiant" & d$aime_produit_laitier == "Oui",]
mean(x$Note_hedonique_A)
## [1] 6.944444
#### Méthode 2: directe
mean(d[d$cat_sociales == "Etudiant" & d$aime_produit_laitier == "Oui",]$Note_hedonique_A)
## [1] 6.944444
Question 4
# on utilise la fonction 'aggregate'
hedoniqueA <- aggregate(d$Note_hedonique_A, list(csp=d$cat_sociales), mean)
textureA <- aggregate(d$Note_texture_A, list(csp=d$cat_sociales), mean)
odeurA <- aggregate(d$Note_odeur_A, list(csp=d$cat_sociales), mean)
# on utilise la fonction 'data.frame' pour regrouper les tableaux
data.frame(hedoniqueA,textureA$x,odeurA$x)
## csp x textureA.x odeurA.x
## 1 Agriculteur 5.500000 6.400000 4.900000
## 2 Autres 4.300000 6.133333 5.200000
## 3 Cadres 6.100000 7.400000 6.000000
## 4 Etudiant 6.434783 6.043478 6.173913
## 5 Retraités 6.700000 5.800000 6.600000
# on renomme les colonnes (pour info, pas une commande à connaître)
tableau <- data.frame(hedoniqueA,textureA$x,odeurA$x)
names(tableau) <- c("csp", "hedoniqueA", "textureA", "odeurA")
tableau
## csp hedoniqueA textureA odeurA
## 1 Agriculteur 5.500000 6.400000 4.900000
## 2 Autres 4.300000 6.133333 5.200000
## 3 Cadres 6.100000 7.400000 6.000000
## 4 Etudiant 6.434783 6.043478 6.173913
## 5 Retraités 6.700000 5.800000 6.600000