Vous êtes sur la page 1sur 22

Introduction à l’utilisation du

logiciel R
Correction des exercices

- Analyse de données-
A. Perasso
M1 QMP
2010/2011 UFR ST
Exercice 1

A partir de la base de données « ana_viande.ods » :

1. Quelle est la charge maximale de parasite 1 dans l’échantillon de viandes ?

2. Quelle est la charge maximale de parasite 1 par zone (D, J, H) ?


(Utililiser la fonction DROITE)

3. Quelle est la charge moyenne de parasite 1 par zone (D, J, H) ?

4. Pour chaque zone (D,J,H), déterminer le nombre d’échantillons de viande


contaminée par le parasite 2.

5. Déterminer, pour chaque zone (D, J, H) et pour chaque année (de 96-97à
99-00) la quantité moyenne de parasite 1 et le nombre d’échantillons de viande
contaminée par le parasite 2.
(Utiliser les fonctions STXT et DROITE)
Exercice 1 :

1. Quelle est la charge maximale de parasite 1 dans l’échantillon de viandes ?


→ Utiliser le tri (tri du tableau selon la variable parasite 1)
→ Résultat : 67200

2. Quelle est la charge maximale de parasite 1 par zone (D, J, H) ?


→ Une solution : créer une nouvelle colonne « Zone ». A l’aide de la fonction
DROITE, insérer le dernier caractère à droite de la colonne « Numéro » (D, J
ou H) dans la colonne « Zone » (reproduire l’opération pour chaque ligne à
l’aide de la souris). Enfin, effectuer un tri du tableau selon « Parasite 1 » puis
filtrer par zone.
→ Résultat : Dmax = 22400; Hmax = 35000; Jmax = 67200
3. Quelle est la charge moyenne de parasite 1 par zone (D, J, H) ?
→ Une fois la colonne « zone » créée, on peut utiliser un tableau dynamique
à partir de :
1) « Zone » en champs de colonnes ;
2) « Parasite 1 » en champs de données ;
3) le choix de l’option « Moyenne »

→ Résultats : MeanD = 561,86 ; MeanH = 529,27 ; MeanJ = 1114,54

Texte duquel on extrait 4


caractères en commençant par
le premier de la sélection
4. Pour chaque zone (D,J,H), déterminer le nombre d’échantillons de viande
contaminée par le parasite 2.

→ Le présence ou non du contaminant est ici indiquée en mode binaire,


avec « 1 » indiquant la présence et « 0 » la non-présence de parasite 2. La
somme des « 1 » pour chaque zone permet donc de répondre à la question.
On peut donc utiliser un tableau dynamique en « zone » et « Parasite 2 »
avec l’option « Somme »

→ Résultats : NumberD = 124 ; NumberH = 53 ; NumberJ = 56

5. Déterminer, pour chaque zone (D, J, H) et pour chaque année (de 96-97à
99-00) la quantité moyenne de parasite 1 et le nombre d’échantillons de
viande contaminée par le parasite 2.
→ En s’inspirant de la colonne
« Zone » et en utilisant la fonction
STXT, créer une nouvelle colonne
« Année »
→ On effectue un tableau dynamique croisé avec « Zone » en
colonne, « Année » en ligne, « Parasite 1 » (option moyenne) et
« Parasite 2 » (option somme) en données

→ Résultats :
Exercice 2

1. Calculez sous R la racine carrée de : pi multiplié par le nombre


d’étudiants dans la salle.

2. Arrondissez la valeur obtenue à 1 décimale.


Exercice 2

1. Calculez sous R la racine carrée de : pi multiplié par le nombre d’étudiants


dans la salle.

s’il y a 15 étudiants dans la salle :


sqrt(pi*15)

[1] 6.864684

2. Arrondissez la valeur obtenue à 1 décimale.


s’il y a 15 étudiants dans la salle :
round(sqrt(pi*15),1)
[1] 6.9
OU
calcul<-sqrt(pi*15)
round(calcul,1)
[1] 6.9
Exercice 3

1. Importez sous R le jeu de données « ana_viande » de façon à ce que l’on puisse


exploiter aussi les données en fonction des zones (D, J, H).

2. Calculer la proportion globale d’échantillons infectés par le parasite 2 et la


proportion par zone (D, J, H). Représenter graphiquement à l’aide d’un diagramme en
barre les valeurs de ces proportions par zone.

3. Trouvez les moyennes, écart-types, minima, maxima et variances des charges


globales de parasite 1. Calculez l’intervalle de confiance de la charge globale moyenne
de parasite 1.

4. Tracer un diagramme en « boîte à moustaches » représentant les quantités de


charge de parasite 1 pour chaque zone (ne considérer que les échantillons où le
parasite 1 est présent). Vérifier que l’on retrouve bien les valeurs des quartiles.

5. Représenter sous forme de nuages de points la masse des échantillon de viande en


fonction de leur volume, ainsi que leur volume en fonction de la masse. Agencez les 2
graphiques côte à côte sous R.
Exercice 3
1. Importation sous R le jeu de données appelé « ana_viande ».
# Pour afficher le tableau de données
Tab = read.table(“ana_viande.csv”,h=T)
head(Tab) Ajuste la 1ère
# Le haut du tableau s’affiche : vérifiez qu’il est ligne du tableau
correctement lu
2. Calcul de la proportion d’échantillons infectés par le parasite 2
attach(Tab)
table(Parasite2)
Parasite2
0 1
289 233
233/length(Parasite2)
[1] 0.4463602 # Ceci revient à faire la moyenne de la variable
Parasite2 :
mean(Parasite2)
2. Calcul de la proportion d’échantillons infectés par zone

tapply(Parasite2,Zone,mean)

D H J
0.5610860 0.3581081 0.3660131

2. Représentation graphique des proportions d’échantillons infectés


par zone.
barplot(tapply(Parasite2,Zone,mean))
3. Moyennes, écart-types, minima, maxima et variances des charges
globales de parasite 1. Calcul de l’intervalle de confiance de la charge
globale moyenne de parasite 1.

mean(Parasite1)
[1] 714.6111
sd(Parasite1)
[1] 4271.856
range(Parasite1)
[1] 0 67200
t.test(Parasite1)$conf.int
[1] 347.2954 1081.9268
attr(,"conf.level")
[1] 0.95
4. Représentations « boîte à moustaches »
Tab2 = Tab[Parasite1>0,] #permet de sélectionner les lignes du
tableau pour lesquelles Parasite1 > 0
summary(Tab2)

boxplot(Tab2$Parasite1~Tab2$Zone,xlab="Zones",
ylab="charges positives de parasite 1",
col=c("red","green","yellow")

→ Le résultat est peu satisfaisant, on utilise donc le log de la variable


Parasite1 :
boxplot(log(Tab2$Parasite1)~Tab2$Zone,xlab="Zones",
ylab="charges positives de parasite 1",
col=c("red","green", "yellow"))

On peut retrouver les valeurs des quartiles apparaissant sur le diagramme :


summary(log(Tab2$Parasite1))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 2.708 4.283 4.535 6.317 11.120
5. Représentation des nuages de points masse/volume et
volume/masse par zone avec charges strictement positives de parasite
1.
par(mfrow=c(1,2))
plot(volume,masse, xlab="Volume de l’échantillon",
ylab="Masse de l’échantillon")
plot(masse,volume, ylab="Volume de l’échantillon",
xlab="Masse de l’échantillon")
Exercice 4 : utilisation matricielle de R

Des densités de chouettes Chevêches (en couple/km²) ont été étudiées


dans 2 secteurs s1 et s2 de 1994 à 2000 inclus. Les densités du secteur 1
sont : 0,27 ; 0,28 ; 0,25 ; 0,27 ; 0,25 ; 0,15 et 0,13. Celles du secteur 2 sont
0,17 ; 0,17 ; 0,19 ; 0,13 ; 0,10 ; 0,11 et 0,09.

1. Représentez ces données sous forme d’une matrice à 2 lignes et 7


colonnes.

2. Ecrire la matrice en faisant apparaître les années en colonnes et les


secteurs en lignes.

3.Représentez graphiquement l’évolution des densités de chouettes


Chevêches en fonction du temps pour les 2 secteurs.
Exercice 4

1. Matrice des données concernant les chouettes :

m = matrix (c(0.27,0.28,0.25,0.27,0.25,0.15,
0.13,0.17,0.17,0.19,0.13,0.10,0.11,0.09),
ncol=7, byrow=T)
m
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.27 0.28 0.25 0.27 0.25 0.15 0.13
[2,] 0.17 0.17 0.19 0.13 0.10 0.11 0.09
Pour donner des titres de ligne et de colonne :

m = matrix (c(0.27,0.28,0.25,0.27,0.25,0.15,
0.13,0.17,0.17,0.19,0.13,0.10,0.11,0.09),
ncol=7, byrow=T, dimnames=list(c("s1","s2"),
seq(1994,2000,1)))
m
1994 1995 1996 1997 1998 1999 2000
s1 0.27 0.28 0.25 0.27 0.25 0.15 0.13
s2 0.17 0.17 0.19 0.13 0.10 0.11 0.09

dimnames(m)
[[1]]
[1] "s1" "s2"

[[2]]
[1] "1994" "1995" "1996" "1997" "1998" "1999" "2000"
par(mfrow=c(1,2))

plot(dimnames(m)[[2]], m[1,], xlab="Année du


relevé", ylab="Densité (couple/km²)",
col="red", main = "Densités de chouettes
Chevêches en fonction du temps, site 1",
lwd=3)

plot(dimnames(m)[[2]],m[2,], xlab="Année du
relevé", ylab="Densité (couple/km²)",
col="green", main = "Densités de chouettes
Chevêches en fonction du temps, site 2",
lwd=2, pch=8)
On obtient les deux figures suivantes dans la même fenêtre :
Pour avoir les deux sites sur la même figure :

par(mfrow=c(1,1))

plot(dimnames(m)[[2]],
m[1,], ylim=c(0,0.3),
xlab="Année du
relevé", ylab="Densité
(couple/km²)",
col="red", main =
"Densités de chouettes
Chevêches en fonction
du temps", lwd=3)

points(dimnames(m)[[2]
], m[2,], col="green",
lwd=2, pch=8)