Vous êtes sur la page 1sur 5

w

Module : Data Mining


Faculté des Sciences
Département d’Informatique

Exercice 1

Airquality est un dataset intégré dans R

1. Donner la nature du dataset « Airquality » ?


class(airquality)

2. Donner les dimensions du dataset « Airquality » ?


dim(airquality)

3. Combien de valeurs manquantes NA se trouvent dans la colonne "Ozone" du dataset «


Airquality » ?
sum(is.na(airquality$Ozone))

4. Donner les lignes qui contient au moins une valeur manquante NA ?


which(!complete.cases(airquality))

5. Quelle est la moyenne de la colonne "Ozone" dans cet ensemble de données ? Exclure les
valeurs manquantes (codées comme NA) de ce calcul.
mean(dataset[, "Ozone"], na.rm = TRUE)

6. Donner un sous-ensemble du dataset « airquality » qui ne contient aucune NA en


supprimant les lignes qui contiennent au moins une NA ?
sub_airquality<-airquality[complete.cases(airquality),]
head(sub_airquality)

Master Big Data & Cloud Computing


Faculté des Sciences
Département d’Informatique

Exercice 2

1. Extrayez le sous-ensemble de lignes du dataset où les valeurs d'ozone sont supérieures à


31 et les valeurs de température sont supérieures à 90.
subset(dataset, Ozone > 31 & Temp > 90)

2. Utilisez une boucle for pour créer un vecteur de longueur 6 contenant la moyenne de
chaque colonne du dataset (à l'exclusion de toutes les valeurs manquantes).
m <- numeric(6)
for (i in 1:6) {
m[i] <- mean(dataset[, i], na.rm = TRUE)
}
print(m)

3. Utilisez la fonction Apply pour calculer l'écart type de chaque colonne du dataset (à
l'exclusion de toutes les valeurs manquantes).
s <- apply(dataset, 2, sd, na.rm = TRUE)
print(s)

4. Calculez la moyenne de « Ozone » pour chaque mois dans le dataset et créez un vecteur
contenant les moyennes mensuelles (excluez toutes les valeurs manquantes).
tapply(dataset$Ozone, dataset$Month, mean, na.rm = TRUE)

5. Donner un échantillon aléatoire de 5 lignes du dataset ?


set.seed(1)
dataset[sample(nrow(dataset), 5), ]

Master Big Data & Cloud Computing


Faculté des Sciences
Département d’Informatique

Exercice 3

1. Créé un objet qui contient les mêmes colonnes que Airquality mais la température et la
vitesse du vent sont exprimées en degrés Celsius et en kilomètres par heure.
temp<-transform(airquality,Temp.C=(Temp-32)/1.8,Wind.Km=Wind*1.6)
my.airquality<-temp[,-c(3,4)]
head(my.airquality)

2. Calculer la corrélation entre niveau d'ozone et température.


cor(my.airquality$Ozone[complete.cases(my.airquality)],my.airquality$T
emp.C[complete.cases(my.airquality)])

3. Donner le nuage de points (scatter plot) du niveau d'ozone en fonction de la température.


plot(my.airquality$Temp.C,my.airquality$Ozone)

Exercice 4

state.x77 est un dataset intégré dans R

1. Donner le revenu par habitant (per capita income) des États qui ont moins de 40 jours
avec une température minimale en dessous de zéro.
state.x77[state.x77[,"Frost"<40],"Income"]

2. Les états qui ont moins de 40 jours avec une température minimale en dessous de zéro et
une espérance de vie supérieure à 71 ans.
state.x77.new[Frost<40 & Life.Exp>71,]

Master Big Data & Cloud Computing


Faculté des Sciences
Département d’Informatique

3. La moyenne pour chaque variable dans cet dataset.


round(apply(state.x77.new,2,mean),2)

4. L'écart type pour chaque variable dans cet dataset.

round(apply(state.x77.new,2,sd),2)

Exercice 5

On va utiliser le package DAAG (Data Analysis and Graphics Data and Functions)

Installation du package
install.packages("DAAG")

1. Donner les valeurs non manquantes pour la colonne root pour chaque espèce.
tapply(X=complete.cases(root),INDEX=species,FUN=sum)

2. Donner l'histogramme de l'espèce Acmena smithii en fonction du diamètre à hauteur de


base (dhp).
histogram(rainforest[species=='Acmena smithii','dbh'],
main='histogram of dbh of species Acmena smithii',
xlab='diameter at base height',col=5)

Master Big Data & Cloud Computing


Faculté des Sciences
Département d’Informatique

Exercice 6

Considérez les données sur la longueur des œufs dans le dataframe cuckoos du package DAAG.

1. Tracez un histogramme de ces données.


library(DAAG)
hist(cuckoos$length)

2. Calculez la moyenne et l'écart type de ces données.


mean(cuckoos[, "length"], na.rm = TRUE)

3. Les données semblent-elles être distribuées normalement ?


sd(cuckoos[, "length"], na.rm = TRUE)

4. Construire un QQ-plot et des QQ-plots de référence pour ces données, en utilisant la


fonction qreference.
qqnorm(cuckoos$length, pch = 1, frame = TRUE)
qreference(cuckoos$length)

5. Construisez un graphique de l'estimation de la densité pour ces données.


gra_density <- density(cuckoos$length)
hist(gra_density$density)

6. Répétez (1), (4) et (5) pour la longueur des œufs de troglodyte seulement.
hist(cuckoos$length[cuckoos$species=="wren"])

qqnorm(cuckoos$length[cuckoos$species=="wren"])

qreference(cuckoos$length[cuckoos$species=="wren"])

vdensity= hist(cuckoos$length[cuckoos$species=="wren"])
hist(vdensity$density)

Master Big Data & Cloud Computing

Vous aimerez peut-être aussi