correction tp initiation r

22
Introduction à l’utilisation du logiciel R Correction des exercices - Analyse de données- A. Perasso UFR ST M1 QMP 2010/2011

Upload: gerald904640

Post on 27-Jun-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Correction TP Initiation R

Introduction à l’utilisation du logiciel Rlogiciel R

Correction des exercices

- Analyse de données-

A. Perasso

UFR STM1 QMP2010/2011

Page 2: Correction TP Initiation R

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)

Page 3: Correction TP Initiation R

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.filtrer par zone.→ Résultat : Dmax = 22400; Hmax = 35000; Jmax = 67200

Page 4: Correction TP Initiation R

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

Page 5: Correction TP Initiation R

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 »

Page 6: Correction TP Initiation R

→ 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 :

Page 7: Correction TP Initiation R

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.

Page 8: Correction TP Initiation R

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

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

Page 9: Correction TP Initiation R

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 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.

Page 10: Correction TP Initiation 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) # Le haut du tableau s’affiche : vérifiez qu’il est

correctement lu

attach ( Tab)

2. Calcul de la proportion d’échantillons infectés par le parasite 2

Ajuste la 1ère

ligne du tableau

attach ( Tab)table( Parasite2 )Parasite20 1

289 233

233/length( Parasite2 )[1] 0.4463602 # Ceci revient à faire la moyenne de la variable

Parasite2 :

mean( Parasite2 )

Page 11: Correction TP Initiation R

tapply( Parasite2 , Zone ,mean)

D H J0.5610860 0.3581081 0.3660131

2. Calcul de la proportion d’échantillons infectés par zone

barplot(tapply( Parasite2 , Zone,mean))

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

par zone.

Page 12: Correction TP Initiation R
Page 13: Correction TP Initiation R

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 [1] 0 67200 t.test( Parasite1 )$conf.int[1] 347.2954 1081.9268attr(,"conf.level")[1] 0.95

Page 14: Correction TP Initiation R

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")

4. Représentations « boîte à moustaches »

→ Le résultat est peu satisfaisant, on utilise donc le log de la variable → 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

Page 15: Correction TP Initiation R
Page 16: Correction TP Initiation R

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")

Page 17: Correction TP Initiation R

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.

Page 18: Correction TP Initiation R

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]

Exercice 4

1. Matrice des données concernant les chouettes :

[,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

Page 19: Correction TP Initiation R

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 2000s1 0.27 0.28 0.25 0.27 0.25 0.15 0.13s2 0.17 0.17 0.19 0.13 0.10 0.11 0.09

Pour donner des titres de ligne et de colonne :

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"

Page 20: Correction TP Initiation R

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 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)

Page 21: Correction TP Initiation R

On obtient les deux figures suivantes dans la même fenêtre :

Page 22: Correction TP Initiation R

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²)",

Pour avoir les deux sites sur la même figure :

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)