Introduction lutilisation du logiciel R Statistiques descriptives L

  • Slides: 40
Download presentation
Introduction à l’utilisation du logiciel R - Statistiques descriptives - L 3 BE Bio.

Introduction à l’utilisation du logiciel R - Statistiques descriptives - L 3 BE Bio. Num M. Jacquot UMR Chrono-Environnement

R est un système d’analyse statistique et graphique créé par R. Ihaka et R.

R est un système d’analyse statistique et graphique créé par R. Ihaka et R. Gentleman 1 • 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.

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

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

 • Avec R, vous disposez d’un logiciel puissant aux possibilités quasi-illimitées. • Il

• 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 …) Représentation graphique des données Analyse des structures spatiales • 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.

Pour vous guider, vous disposez de nombreux sites d’aide et d’exemples sur internet, par

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

De nombreux tutoriels sont également disponibles sur internet, par exemple : « R pour

De nombreux tutoriels sont également disponibles sur internet, par exemple : « R pour les débutants » , Emmanuel Paradis http: //cran. rproject. org/doc/contrib/Paradisrdebuts_fr. pdf « An introduction to R » , Venables et al (en anglais) http: //cran. rproject. 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 » )

Bienvenue dans R…

Bienvenue dans R…

Conseil : travaillez avec Tinn-R 1. D’abord ouvrir Tinn-R, ouvrir un script et l’enregistrer

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

Bienvenue dans R…

Bienvenue dans R…

 • Il est indispensable avant tout travail dans R, de spécifier le dossier

• 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

Pour obtenir l’aide sur une commande : ? nom_de_la_commande Pour utiliser une commande :

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

Opération pi Racine carrée Multiplication, division, addition, soustraction Arrondir Moyenne, médiane, variance Obtenir pour

Opération pi Racine carrée Multiplication, division, addition, soustraction Arrondir Moyenne, médiane, variance Obtenir pour chaque variable d’un tableau : quartiles et moyenne Ecart-type Etendue d’une série de valeurs Appliquer une même fonction (FUN) à toutes les catégories Y d’une variable X Importer des données d’un tableau Créer une matrice Commande sous R pi sqrt *, /, +, round mean, median, var summary sd range tapply (X, Y, FUN) read. delim, read. table matrix Effectuer un modèle linéaire lm(x~y*z) Représenter un nuage de points plot(y~x) Tracer une droite de régression correspondant à un modèle linéaire (lm) abline(lm) Fabriquer un graphique en « boîte à moustache » Options graphiques (propriétés de la fenêtre, des polices des axes, …) boxplot(x~y) par

Différents types d’objets dans R : • vecteurs (vector) myvector=1 myvector [1] 1 •

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

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

Exercice 1 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. 2. Arrondissez la valeur obtenue à 1 décimale.

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

Exercice 1 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

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

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

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

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

 • Chaque variable doit être présentée en colonne Noms de colonnes Variable explicative

• Chaque variable doit être présentée en colonne Noms de colonnes Variable explicative Variable mesurée • Pas de colonne vide à gauche • Pas de ligne vide audessus 1. Pas d’espace 2. Pas d’accent 3. Pas de caractères spéciaux Privilégier les points comme séparateur de décimale • 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

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

Exercice 2 1. 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).

Exercice 2 2. Trouvez les moyennes, écart-types, minima, maxima et variances des concentrations en

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

Exercice 2 3. Représentez les concentrations 2001 en fonction des concentrations 2000. Tracer la

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 4 e 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") lm. Hg=lm(Hg_01~Hg_00) abline(lm. Hg, col="green")

Exercice 2 4. Représentez les concentrations 2000, 2001 et Museum dans un graphique en

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

Exercice 2

Exercice 2

Exercice 2 5. Agencez les 2 graphiques côte à côte sous R. Lorsque ce

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) lm. Hg=lm(Hg_01~Hg_00) abline(lm. Hg, 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)

Exercice 2 Pour importer le graphique dans word : - Cliquez sur la fenêtre

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

Exercice 3 1. Créez une matrice comportant les données suivantes. Les densités de Chevêches

Exercice 3 1. 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 s 1 et s 2 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, 19 ; 0, 13 ; 0, 10 ; 0, 11 et 0, 09. 2. Représentez ces données sous forme d’une matrice. 3. Représentez graphiquement l’évolution des densités de Chevêches d’Athéna en fonction du temps pour les 2 secteurs.

Exemple de réalisation d’une matrice m = matrix(c(47, 6, 23, 14, 52, 2, 14,

Exemple de réalisation d’une matrice m = matrix(c(47, 6, 23, 14, 52, 2, 14, 7), ncol=2) m [1, ] [2, ] [3, ] [4, ] [, 1] [, 2] 47 52 6 2 23 14 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, ] [3, ] [4, ] [, 1] [, 2] 47 6 23 14 52 2 14 7

Exercice 3 1. Créez une matrice comportant les données suivantes. Les densités de Chevêches

Exercice 3 1. 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 s 1 et s 2 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, 19 ; 0, 13 ; 0, 10 ; 0, 11 et 0, 09. m = matrix (c(0. 27, 0. 28, 0. 25, 0. 27, 0. 25, 0. 13, 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. 13 [2, ] 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.

Pour donner des titres de ligne et de colonne : m = matrix (c(0. 27, 0. 28, 0. 25, 0. 27, 0. 25, 0. 13, 0. 17, 0. 19, 0. 13, 0. 10, 0. 11, 0. 09), ncol=7, byrow=T, dimnames=list(c("s 1", "s 2"), seq(1994, 2000, 1))) m 1994 1995 1996 1997 1998 1999 2000 s 1 0. 27 0. 28 0. 25 0. 27 0. 25 0. 13 s 2 0. 17 0. 19 0. 13 0. 10 0. 11 0. 09 dimnames(m) [[1]] [1] "s 1" "s 2" [[2]] [1] "1994" "1995" "1996" "1997" "1998" "1999" "2000"

3. Représentez graphiquement l’évolution des densités de Chevêches d’Athéna en fonction du temps pour

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)

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

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(m[1, ]

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)

Exercice 4 1. Importez sous R le jeu de données appelé « arbres »

Exercice 4 1. 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 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)

Exercice 4 4. Représentez ces valeurs dans une matrice. #on crée la matrice :

Exercice 4 4. Représentez ces valeurs dans une matrice. #on crée la matrice : m 2=matrix(c(rm_d, rs_d, rv_d, rm_v, rs_v, rv_v, rm_h, r s_h, rv_h), ncol=3, dimnames=list(c("moyenne", "sd", "var"), c("diametre", "volume", "hauteur"))) #on la visualise : m 2 diametre volume hauteur

Exercice 4 2. 3. 4. Autre solution pour les questions 2 à 4 valeur=c(bdd_2$diametre,

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("hauteu r", 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)

Exercice 4 5. Sur le jeu de données initial, enlevez les données qu’on juge

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_2 extrem=bdd_2[bdd_2$hauteur<80, ] summary(bdd_2 extrem) #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_2 extrem, pch=19, cex. axis=1. 5, cex. lab=1. 5) plot(diametre~volume, data=bdd_2 extrem, pch=19, cex. axis=1. 5, cex. lab=1. 5)

#on peut tout résumer en 1 seul graphique 3 D avec la fonction cloud

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

Sauver votre travail Dans R 1 Dans Tinn R sauver votre script 2. 2.

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