J'ai créé pour vous un vecteur vec
et une matrice Mat
.
vec <- structure(c(2L, 1L, 2L, 1L, 1L, 2L), .Label = c("val1", "val2"), class = "factor")
Mat <- structure(c(1.4758050122662, 0.460757577634441, 1.09787881859777,
-0.576514555287794, 1.7806944930363, -1.34819815347259, -0.474234033382841,
-0.277249593892861, 0.259424211813034, 0.802903573707708, -1.17702274849553,
0.532834331766421, 0.680394042312619, 0.281655088161887, -1.17112056849342,
-0.671549850839443, 0.873054071274946, 0.893642462873987), .Dim = c(6L,
3L))
Explorez les objets vec
et Mat
:
# La fonction str permet de répondre à toutes
# les questions d'un seul coup
str(vec)
str(Mat)
# Sinon on peut utiliser la fonction class
class(vec)
class(Mat)
# Les fonctions length et dim
length(vec)
dim(Mat)
J'ai combiné vec
et Mat
dans une même data-frame df
avec la commande suivante :
df <- data.frame(vec, Mat)
Explorez le résultat et utilisez trois méthodes différentes pour extraire la colonne qui correspond à vec
.
vec <- structure(c(2L, 1L, 2L, 1L, 1L, 2L), .Label = c("val1", "val2"), class = "factor")
Mat <- structure(c(1.4758050122662, 0.460757577634441, 1.09787881859777,
-0.576514555287794, 1.7806944930363, -1.34819815347259, -0.474234033382841,
-0.277249593892861, 0.259424211813034, 0.802903573707708, -1.17702274849553,
0.532834331766421, 0.680394042312619, 0.281655088161887, -1.17112056849342,
-0.671549850839443, 0.873054071274946, 0.893642462873987), .Dim = c(6L,
3L))
df <- data.frame(vec, Mat)
# On utilise str et summary pour explorer df
str(df)
summary(df)
# Voici trois méthodes pour extraire une colonne
# d'une data-frame
df$vec
df[,"vec"]
df[,1]
# Bonus
df["vec"]
df[["vec"]]
Modifiez la commande suivante pour obtenir l'Energie des desserts.
nutrimenu$***[nutrimenu$Type == "****"]
nutrimenu$Energie[nutrimenu$Type == "Dessert"]
Faites une table de contingence des variables Type
et Nutriscore
.
table(nutrimenu$Type, nutrimenu$Nutriscore)
Calculez la moyenne de la teneur en Sucre des entrées, des plats et des desserts.
mean(nutrimenu$Sucre[nutrimenu$Type == "Entree"])
mean(nutrimenu$Sucre[nutrimenu$Type == "Plat"])
mean(nutrimenu$Sucre[nutrimenu$Type == "Dessert"])
Extraire des données nutrimenu
la composition en Glucides, Lipides et Proteines des recettes ayant un Nutriscore égal à A ou B.
# Pour les lignes, utilisez un vecteur de booléens
# Pour les colones, utilisez les noms des colonnes
# En une seule ligne :
nutrimenu[nutrimenu$Nutriscore %in% c("A", "B"), c("Glucides", "Lipides", "Proteines")]
# ----------------------
# En plusieurs lignes :
AouB <- nutrimenu$Nutriscore == "A" | nutrimenu$Nutriscore == "B"
# Ecriture équivalente :
AouB <- nutrimenu$Nutriscore %in% c("A", "B")
# Les colonnes
my_cols <- c("Glucides", "Lipides", "Proteines")
nutrimenu[AouB, my_cols]
Calculez la corrélation entre les variables Glucides, Lipides et Proteines.
# En trois commandes
cor(nutrimenu$Glucides, nutrimenu$Lipides)
cor(nutrimenu$Glucides, nutrimenu$Proteines)
cor(nutrimenu$Proteines, nutrimenu$Lipides)
# Ou bien en une seule commande :
cor(nutrimenu[c("Glucides", "Lipides", "Proteines")])