1 / 40

Introduction à l’utilisation du logiciel R - Statistiques descriptives -

Introduction à l’utilisation du logiciel R - Statistiques descriptives -. M. Jacquot UMR Chrono-Environnement. L3 BE BioNum. R est un système d’analyse statistique et graphique créé par R. Ihaka et R. Gentleman 1.

suzuki
Download Presentation

Introduction à l’utilisation du logiciel R - Statistiques descriptives -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction à l’utilisation du logiciel R - Statistiques descriptives - M. Jacquot UMR Chrono-Environnement L3 BE BioNum

  2. R est un système d’analyse statistique et graphique créé par R. Ihaka et R. Gentleman1 • Logiciel gratuit et langage qualifié de dialecte du langage S. Il est téléchargeable dans sa version 2.9.2. depuis : • http://www.r-project.org/ • Également disponible sous forme commercialisée S-Plus • Développé par une communauté de statisticiens rassemblés dans le R Development Core Team • Distribué pour Windows, Linux, Unix, Macintosh 1 Ikaha Ross, Gentleman Robert. 1996. R: a language for data analysis and graphics. J. Comput. Graph. Stat., 5: 299-314.

  3. http://www.r-project.org/ Liens pour télécharger (gratuitement) R, des packages, de la doc, etc… Moteur de recherche Documentation

  4. Avec R, vous disposez d’un logiciel puissant aux possibilités quasi-illimitées. • Il peut être couplé à d’autres systèmes d’analyse de données (système d’analyse spatiale GRASS …) • Le principal inconvénient est un manque de convivialité dans l’utilisation puisque son utilisation implique la programmation de chaque commande en langage S. Seule la pratique peut vous permettre de vous familiariser avec R. Analyse des structures spatiales Représentation graphique des données

  5. Pour vous guider, vous disposez de nombreux sites d’aide et d’exemples sur internet, par exemple : http://zoonek2.free.fr/UNIX/48_R/all.html En cas de difficultés, il est possible d’adresser vos questions à la R help list http://stat.ethz.ch/R-manual/ http://pbil.univ-lyon1.fr/R/enseignement.html

  6. De nombreux tutoriels sont également disponibles sur internet, par exemple : « R pour les débutants », Emmanuel Paradis « An introduction to R », Venables et al (en anglais) http://cran.r-project.org/doc/contrib/Paradis-rdebuts_fr.pdf http://cran.r-project.org/doc/manuals/R-intro.pdf D’autres sont disponibles sur le site de R-project : http://cran.r-project.org (cliquer sur « Manuals » dans la sous-partie « Documentation »)

  7. Bienvenue dans R…

  8. Conseil : travaillez avec Tinn-R • D’abord ouvrir Tinn-R, ouvrir un script et l’enregistrer • A partir de l’interface Tinn-R, ouvrir R et sélectionner le fichier de travail dans R

  9. Bienvenue dans R…

  10. Il est indispensable avant tout travail dans R, de spécifier le dossier de travail dans lequel se trouve le (ou les) fichier(s) de données à analyser : • File → Change Dir… → sélectionner le dossier* • Ou pour la version française : • Fichier → Changer le répertoire courant… → sélectionner le dossier* • Pour vérifier que vous travaillez bien dans le bon dossier, vous pouvez contrôler votre working directory par la commande : • getwd() * procédure pour PC. Quelques subtiles différences pour Macintosh

  11. Pour obtenir l’aide sur une commande : ?nom_de_la_commande Pour utiliser une commande : nom_de_la_commande(argument1,argument2,…) N.B. certains arguments sont définis par défaut pour une fonction donnée.

  12. Différents types d’objets dans R : • vecteurs (vector) • matrices (matrix) • tableaux de données (data.frame) • listes (list): collection d’objets myvector=1 myvector [1] 1 > mymatrix [,1] [,2] [,3] [,4] [1,] 1 1 2 2 [2,] 3 4 5 6 [3,] 6 6 6 7 > mytab Echantillon Masse 1 53 0.0273 2 353 0.0586

  13. Exercice 1 • Calculez sous R la racine carrée de : pi multiplié par l’âge de l’enseignant divisé par le nombre d’étudiants dans la salle. • Arrondissez la valeur obtenue à 1 décimale.

  14. Exercice 1 • Calculez sous R la racine carrée de : pi multiplié par l’âge de l’enseignant divisé par le nombre d’étudiants dans la salle. Si l’enseignant a 23 ans et qu’il y a 18 étudiants dans la salle : sqrt((pi*23)/18) [1] 2.003561 2. Arrondissez la valeur obtenue à 1 décimale. round(sqrt((pi*23)/18),1) [1] 2.003561 OU calcul=sqrt((pi*23)/18)#on crée ici un objet de type vecteur round(calcul,1) [1] 2.003561

  15. Exercice 2 • Importez sous R le jeu de données appelé « Donneesmanchot ».

  16. Présentation des données dans excel pour une exploitation dans R

  17. Noms de colonnes Variable mesurée Variable explicative • Pas d’espace • Pas d’accent • Pas de caractères spéciaux Privilégier les points comme séparateur de décimale • Chaque variable doit être présentée en colonne • Pas de colonne vide à gauche • Pas de ligne vide au-dessus • Uniquement le tableau de données! Enregistrer le fichier de données en format texte (séparateur:tabulation) (*.txt) pour Microsoft Office texte (*.csv) pour Open Office

  18. Exercice 2 • Importez sous R le jeu de données appelé « Donneesmanchot ». bdd_1=read.delim("Donneesmanchot.csv") bdd_1 #permet de visualiser le dataframe créé class(bdd_1) [1] "data.frame" #nous donne la nature de l’objet is.factor(bdd_1$annee) [1] TRUE # nous dit si oui (TRUE) ou non (FALSE) notre variable est un facteur. N.B. Notre variable peut être numérique (numeric) ou catégorielle (factor).

  19. Exercice 2 2. Trouvez les moyennes, écart-types, minima, maxima et variances des concentrations en mercure des 3 groupes. tapply(bdd_1$Concentration,bdd_1$annee,mean) 2000 2001 museum 2.109222 1.909746 2.657152 tapply(bdd_1$Concentration,bdd_1$annee,sd) 2000 2001 museum 0.8337022 0.7671264 0.8604982 tapply(bdd_1$Concentration,bdd_1$annee,range) $`2000` [1] 0.4973822 3.9056604 $`2001` [1] 0.1156069 2.7457627 $museum [1] 1.646562 4.292169

  20. Exercice 2 3. Représentez les concentrations 2001 en fonction des concentrations 2000. Tracer la droite de régression des concentrations 2001 en fonction des concentrations 2000 en vert. Donnez un titre pertinent et complet aux axes des abscisses et des ordonnées. Donnez un titre pertinent à votre graphique. #Il faut d’abord isoler les données qui nous intéressent dans des vecteurs. Attention à la donnée manquante en 2001 qui nous contraint à éliminer la concentration de la plume du même individu en 2000. Hg_01=bdd_1[11:40,6]#on sélectionne dans bdd_1 les lignes 11 à 40 de la colonne 6 Hg_00=bdd_1[41:71,6] Hg_00=Hg_00[-4]#on sélectionne toutes les concentrations de Hg en 2000 exceptée celle en 4e place ds le vecteur Hg_00 qui correspond à l’individu à éliminer. #Puis on passe à la représentation graphique plot(Hg_01~Hg_00,pch=19,xlab="[Hg] en 2000" ,ylab="[Hg] en 2001",main="Concentrations de Hg dans les plumes de manchot empereur de 2001 en fonction de celles de 2000") lmHg=lm(Hg_01~Hg_00) abline(lmHg,col="green")

  21. Exercice 2 4. Représentez les concentrations 2000, 2001 et Museum dans un graphique en boîte à moustache. Donnez un titre pertinent au graphique et aux axes des abscisses et des ordonnées boxplot(bdd_1$Concentration~bdd_1$annee,xlab="année",ylab="Concentrations en Hg",main="[Hg] dans les plumes de manchot empereur suivant l'année d'échantillonnage")

  22. Exercice 2

  23. Exercice 2 5. Agencez les 2 graphiques côte à côte sous R. Lorsque ce double graphique est fait, importez-le dans Word. par(mfrow=c(1,2))#permet de scinder la fenêtre graphique en 2 parties dans le sens de la longueur plot(Hg_01~Hg_00,pch=19,xlab="[Hg] en 2000" ,ylab="[Hg] en 2001",main="Concentrations de Hg dans les plumes de manchot empereur de 2001 en fonction de celles de 2000",cex.main=1) lmHg=lm(Hg_01~Hg_00) abline(lmHg,col="green") boxplot(bdd_1$Concentration~bdd_1$annee,xlab="année",ylab="Concentrations en Hg",main="[Hg] dans les plumes de manchot empereur suivant l'année d'échantillonnage",cex.main=1)

  24. Exercice 2 • Pour importer le graphique dans word : • Cliquez sur la fenêtre graphique et faites Ctrl+C pour sauver en JPEG (Ctrl+W en metafile) puis Ctrl+V dans word • Sur la fenêtre graphique : Fichier→ Sauver comme → choisir le format • Vous sauvez ainsi un fichier image à copier dans word

  25. Exercice 3 • Créez une matrice comportant les données suivantes. Les densités de Chevêches d’Athéna (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. • Représentez ces données sous forme d’une matrice. • Représentez graphiquement l’évolution des densités de Chevêches d’Athéna en fonction du temps pour les 2 secteurs.

  26. Exemple de réalisation d’une matrice m= matrix(c(47,6,23,14,52,2,14,7), ncol=2) m [,1] [,2] [1,] 47 52 [2,] 6 2 [3,] 23 14 [4,] 14 7 Ordre de remplissage par défaut d’une matrice dans R En ajoutant byrow=T, on inverse l’ordre de remplissage : m= matrix(c(47,6,23,14,52,2,14,7), ncol=2, byrow=T) m [,1] [,2] [1,] 47 6 [2,] 23 14 [3,] 52 2 [4,] 14 7

  27. Exercice 3 • Créez une matrice comportant les données suivantes. Les densités de Chevêches d’Athéna (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. 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

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

  29. 3. Représentez graphiquement l’évolution des densités de Chevêches d’Athéna en fonction du temps pour les 2 secteurs. par(mfrow=c(1,2)) plot(m[1,] ~ dimnames(m)[[2]], xlab="Année du relevé", ylab="Densité (couple/km²)", col="red", main = "Densités de Chevêches d’Athéna en fonction du temps dans le site 1", cex=1.5, lwd=2, pch=8) plot(m[2,] ~ dimnames(m)[[2]],xlab="Année du relevé", ylab="Densité (couple/km²)", col="green", main = "Densités de Chevêches d’Athéna en fonction du temps dans le site 2", cex=1.5, lwd=2, pch=9)

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

  31. Pour avoir les deux sites sur la même figure : par(mfrow=c(1,1)) plot(m[1,] ~dimnames(m)[[2]], xlab="Année du relevé", ylab="Densité (couple/km²)", col="red", main = "Densités de Chevêches d’Athéna en fonction du temps", cex=1.5, lwd=2, pch=8) points(m[2,]~dimnames(m)[[2]],col="green", cex=1.5, lwd=2, pch=9)

  32. Exercice 4 • Importez sous R le jeu de données appelé « arbres ». # Pour afficher le tableau de données bdd_2 = read.delim(“arbres.txt") bdd_2 2. Calculez les moyennes, écart-types et variances des diamètres, des volumes et des hauteurs. 3. Arrondissez ces valeurs à 2 chiffres après la virgule. #exemple pour le diametre. Utiliser la fonction remplacer (Ctrl+R) pour faire pareil pour le volume et la hauteur. m_d=mean(bdd_2$diametre) s_d=sd(bdd_2$diametre) v_d=var(bdd_2$diametre) rm_d=round(m_d,2) rs_d=round(s_d,2) rv_d=round(v_d,2)

  33. Exercice 4 4. Représentez ces valeurs dans une matrice. #on crée la matrice : m2=matrix(c(rm_d,rs_d,rv_d,rm_v,rs_v,rv_v,rm_h,rs_h,rv_h),ncol=3,dimnames=list(c("moyenne","sd","var"), c("diametre","volume","hauteur"))) #on la visualise : m2 diametre volume hauteur moyenne 1.10 30.17 76.00 sd 0.26 16.44 6.37 var 0.07 270.20 40.60

  34. Exercice 4 2.3.4. Autre solution pour les questions 2 à 4 valeur=c(bdd_2$diametre,bdd_2$volume,bdd_2$hauteur)#on stocke les valeurs ds un vecteur parametre=c(rep("diametre",31),rep("volume",31),rep("hauteur",31))#on crée un vecteur avec le nom des paramètres correspondant tab=data.frame(valeur,parametre)#on fusionne les 2 vecteurs en 1 dataframe moy=tapply(valeur,parametre,mean)#on applique tapply ; les résultats sont alors stockés ds un vecteur arr_mo=round(moy,2)#on peut appliquer round aux 3 valeurs contenues dans le vecteur ecartyp=tapply(valeur,parametre,sd) arr_ecart=round(ecartyp,2) vari=tapply(valeur,parametre,var) arr_vari=round(vari,2) m3=matrix (c(arr_mo,arr_ecart,arr_vari),ncol=3, byrow=T, dimnames=list(c("moyenne","sd","var"),c("diametre","hauteur« ,"volume"))) m3

  35. Exercice 4 5. Sur le jeu de données initial, enlevez les données qu’on juge extrêmes, c'est-à-dire les données d’arbre(s) dont la hauteur est supérieure à 80 m. bdd_2extrem=bdd_2[bdd_2$hauteur<80,] summary(bdd_2extrem) #permet de vérifier rapidement le maximum des variables de l’objet 6. Sur ce nouveau jeu de données, représentez graphiquement le volume et le diamètre en fonction de la hauteur. Représentez sur un même graphique les 2 graphiques précédents plus un graphique représentant le volume en fonction du diamètre. par(mfrow=c(1,3)) plot(volume~hauteur,data=bdd_2extrem,pch=19, cex.axis=1.5,cex.lab=1.5) plot(diametre~hauteur,data=bdd_2extrem,pch=19, cex.axis=1.5,cex.lab=1.5) plot(diametre~volume,data=bdd_2extrem,pch=19, cex.axis=1.5,cex.lab=1.5)

  36. #on peut tout résumer en 1 seul graphique 3D avec la fonction cloud incluse dans le package lattice : library(lattice) cloud(diametre~volume+hauteur,data=bdd_2extrem)

  37. Sauver votre travail Dans R Dans Tinn R sauver votre script 2.2. 1 Sauver votre historique de commande. 2.1. Sauver votre environnement de travail cad tous les objets créés au cours de votre travail.

More Related