Plutniak maisonobe r esto atelier1-introduction

2 043 vues

Publié le

Une séance d'atelier méthodologique pour une introduction à R

Publié dans : Sciences
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 043
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 429
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Plutniak maisonobe r esto atelier1-introduction

  1. 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň OŊʼnĽŀň, ĵńńŇĹłʼnĽňňĵĻĹ, ńŃňňĽĶĽŀĽʼn͐ň… Sébastien Plutniak1 Marion Maisonobe2 1Lisst-Cers, Ehess — 2Lisst-Cieu, Labex SMS Ǩǩ mai ǩǧǨǫ ResTO, Toulouse
  2. 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň IłʼnŇŃĸŊķʼnĽŃł LĹň ŃĶľĹķʼnĽĺň ĸĹ ķĹʼn ĵʼnĹŀĽĹŇ LĹň ŃĶľĹķʼnĽĺň ĸĹ ķĹʼn ĵʼnĹŀĽĹŇ Indiquer des pistes à approfondir plutôt que proposer un tutoriel pas à pas. Fournir des éléments de réponse aux questions : Qu’est-ce que R ? R peut-il apporter quelque chose à mes travaux et comment l’évaluer ? Échange d’expériences.
  3. 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň IłʼnŇŃĸŊķʼnĽŃł D͐ŇŃŊŀ͐ ĸĹ ŀ’ĵʼnĹŀĽĹŇ D͐ŇŃŊŀ͐ ĸĹ ŀ’ĵʼnĹŀĽĹŇ lj IłʼnŇŃĸŊķʼnĽŃł NJ QŊ’Ĺňʼn ķĹ ŅŊĹ R ? Nj L’ĵńńŇĹłʼnĽňňĵĻĹ ĸĹ R nj LĹň ňń͐ķĽĺĽķĽʼn͐ň ĸĹ R Ǎ L’ŊʼnĽŀĽňĵʼnĽŃł ĸĹ R ǎ Lĵ ŋĽňŊĵŀĽňĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň ĵŋĹķ R Ǐ DĹŊŎ ĹŎĹŁńŀĹň ĸĹ ńĵŇķŃŊŇň Ĺʼn ĸ’ŊʼnĽŀĽňĵʼnĽŃł
  4. 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň IłʼnŇŃĸŊķʼnĽŃł TŃŊŇ ĸĹ ʼnĵĶŀĹ TŃŊŇ ĸĹ ʼnĵĶŀĹ Mais avant toute chose… Types de données que chacun a à traiter ? Quelles limites avec les outils que chacun utilise actuellement ? En conséquence, quels besoins ? Déjà utilisé R ?
  5. 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň QŊ’Ĺňʼn ķĹ ŅŊĹ R ? R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň Les principales solutions actuelles pour le calcul scientifique SPSS, SAS ; Python (NumPy) ; MATLAB ; R. Alors, pourquoi R ?
  6. 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň QŊ’Ĺňʼn ķĹ ŅŊĹ R ? R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň Deux mots d’histoire Dans les années ǨǰǮǧ, au Bell Laboratories (New Jersey, É.-U.) John Chambers et ses collaborateurs développent S, un système dédié de traitement des données qui est à la fois un langage interactif et un environnement de programmation. John Chambers, Ǩǰǰǯ, Programming with Data. Au début des années Ǩǰǰǧ, Robert Gentleman et Ross Ihaka (université d’Auckland) développent une solution de traitement statistique pour Macintosh en partant de S : R. En ǨǰǰǬ, ils placent leur création sous licence libre. Depuis, des centaines d’extensions ont été produites et entretenues par la communauté. (Aujourd’hui, Ǩǩ mai ǩǧǨǫ, ǬǬǪǨ packages sont disponibles.)
  7. 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň QŊ’Ĺňʼn ķĹ ŅŊĹ R ? R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň Un accroissement fulgurant du nombre de packages… Joseph Rickert, http://blog.revolutionanalytics.com/2013/05/how-r-grows.html (NB : cet élégant graphique a été généré sous R avec ggplotǩ…)
  8. 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň QŊ’Ĺňʼn ķĹ ŅŊĹ R ? R, ńĵŇŁĽ ĸ’ĵŊʼnŇĹň DĹňķŇĽńʼnĽŃł ŀŃĻĽķĽĹŀŀĹ ĸĹ R Distributions et interfaces utilisation en ligne de commande ; Rgui ; Rstudio ; Rcommander.
  9. 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň L’ĵńńŇĹłʼnĽňňĵĻĹ ĸĹ R LĹň ĺŃłķʼnĽŃłň ĸ’ĵĽĸĹ Ľłʼn͐ĻŇ͐Ĺň ĸĵłň R LĹň ĺŃłķʼnĽŃłň ĸ’ĵĽĸĹ Ľłʼn͐ĻŇ͐Ĺň ĸĵłň R Une attitude fondamentale : l’auto-documentation RňĽʼnĹSĹĵŇķļ() : recherche dans l’ensemble des documents (manuels, documentation, archives des listes de diffusion) du site de R : RsiteSearch(un sujet) ļĹŀń.ňĹĵŇķļ() : rechercher un sujet dans l’ensemble de l’aide. help.search(un sujet) ļĹŀń() ŃŊ ?() : afficher la page d’aide relative à un sujet ou une fonction help(un sujet) ou ?(un sujet) ĹŎĵŁńŀĹ() : exécuter les exemples contenus dans l’aide d’une fonction. example(nom d’une fonction)
  10. 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň L’ĵńńŇĹłʼnĽňňĵĻĹ ĸĹ R RĹňňŃŊŇķĹň ĸĹ ĺŃŇŁĵʼnĽŃł Ĺł ŀĽĻłĹ RĹňňŃŊŇķĹň ĸĹ ĺŃŇŁĵʼnĽŃł Ĺł ŀĽĻłĹ Tutoriels (les principaux en français) Poinsot, ǩǧǧǬ, R pour les statophobes ElementR, R pour Géographes Barnier, R pour les sociologues Barnier, Introduction à R Kauffmann, Aide mémoire R Goulet, Introduction programmation R et de nombreux autres (avant tout en anglais). Cette sélection est à télécharger ici : http://tinyurl.com/restomethode
  11. 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň L’ĵńńŇĹłʼnĽňňĵĻĹ ĸĹ R RĹňňŃŊŇķĹň ĸĹ ĺŃŇŁĵʼnĽŃł Ĺł ŀĽĻłĹ RĹňňŃŊŇķĹň ĸĹ ĺŃŇŁĵʼnĽŃł Ĺł ŀĽĻłĹ Sites internet Le site du projet : http://cran.r-project.org/ Les site de communautés : http://www.r-bloggers.com/ http://stackoverflow.com R-help list https://stat.ethz.ch/mailman/listinfo/r-help Hadley Wickham Vocabulary : http://adv-r.had.co.nz/Vocabulary.html
  12. 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň L’ĵńńŇĹłʼnĽňňĵĻĹ ĸĹ R RĹňňŃŊŇķĹň ĸĹ ĺŃŇŁĵʼnĽŃł Ĺł ŀĽĻłĹ RĹňňŃŊŇķĹň ĸĹ ĺŃŇŁĵʼnĽŃł Ĺł ŀĽĻłĹ Livres Springer, la collection « Use R ! » : Spector, P, ǩǧǧǯ, Data manipulation with R Sarkar, D. ǩǧǧǯ, Lattice : multivariate data visualization with R. et autres (ǯ titres actuellement). Aux PUR : Cocaud, M., J. Cellier, ǩǧǨǩ, Le traitement des données en Histoire et Sciences Sociales Cornillon P-.A., et. al., ǩǧǨǩ, Statistiques avec R Revues R-Journal Journal of Statistical SoƜwares
  13. 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň LĹň ňń͐ķĽĺĽķĽʼn͐ň ĸĹ R SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň L’exemple d’une instruction simple a <- 4.2 « ǫ.ǩ » est un nombre en virgule flottante, « a » contiendra une information de type numérique, trouver une place en mémoire où mettre « ǫ.ǩ » , enregistrer « a » comme pointeur vers cette place en mémoire. R est à la fois : un langage interprété (contra Fortran, C… : typage dynamique), un système d’exploration interactif (contra SAS), un environnement de programmation.
  14. 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň LĹň ňń͐ķĽĺĽķĽʼn͐ň ĸĹ R SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň Modes : ce qu’un objet peut contenir łŊŁĹŇĽķ : nombres réels ; ķŃŁńŀĹŎ : nombres complexes : ŀŃĻĽķĵŀ : valeurs booléennes (vrai/faux) ; ķļĵŇĵķʼnĹŇ : chaînes de caractères ; ĺŊłķʼnĽŃł : fonction ; ŀĽňʼn : données diverses ; ĹŎńŇĹňňĽŃł : expressions non évaluées. Classes : types d’objets ŋĹķʼnŃŇ : vecteurs ; ŁĵʼnŇĽŎ : matrices ; ŀĽňʼn : liste ; ĸĵʼnĵ.ĺŇĵŁĹ data.frames.
  15. 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň LĹň ňń͐ķĽĺĽķĽʼn͐ň ĸĹ R SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň Fonctions d’« introspection » as.x() : convertir comme… is.x() : tester si l’objet est de la classe… typeof() : donner le type d’un objet. mode() : donne le mode d’un objet. class() : donner la classe d’un objet.
  16. 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň LĹň ňń͐ķĽĺĽķĽʼn͐ň ĸĹ R SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň UłĹ ňŏłʼnĵŎĹ ńĵŇʼnĽķŊŀĽ͖ŇĹŁĹłʼn ňŃŊńŀĹ L’assignation i = 3 i <- 3 3 -> i assign(”i”, 3) L’indiçage v <- c(10, 20, 30) vecteur[ entier positif ] : v[1] renvoie Ǩǧ vecteur[ entier négatif ] : v[-1] renvoie Ǫǧ vecteur[ valeur booléenne ] : v[FALSE, TRUE, TRUE] renvoie ǩǧ, Ǫǧ vecteur[ chaîne de caractère ] : (pour les dataframes et les listes)
  17. 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň LĹň ňń͐ķĽĺĽķĽʼn͐ň ĸĹ R SʼnŇŊķʼnŊŇĹ Ĺʼn ŁĵłĽńŊŀĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň Lĵ Ň͐ķŊŇňĽŋĽʼn͐ ĸĵłň R Les structures de contrôle If…then, while,for La vectorisation : en R tout est vecteur soient Y et Z des vecteurs de longueur n for (i in Ǩ :n) X[i] <­Y[ i] + Z[i] X <- Y + Z idem X <- Y + ǩ apply : appliquer une fonction soit aux lignes ou aux colonnes lapply : appliquer une fonction aux éléments d’une liste (retour une liste) sapply : appliquer une fonction aux éléments d’une liste (retour un vecteur) mapply : appliquer une fonction à plusieurs listes parallèlement
  18. 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň L’ŊʼnĽŀĽňĵʼnĽŃł ĸĹ R L’ŊʼnĽŀĽňĵʼnĽŃł ĸĹ R L’import/export Un standard : le format .csv (encodage, > read.csv) ; des objets spécifiques (l’objet « graph ») ; et les sorties numériques. L’analyse via l’application de fonctions Les fonctions ; l’écriture d’un script ; avec une bonne pratique : les commentaires. Le développement de fonctions et d’extensions Créer une petite fonction dans un script ; créer un script avec plusieurs fonctions ; et créer une extension (Julien Barnier)
  19. 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň Lĵ ŋĽňŊĵŀĽňĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň ĵŋĹķ R Lĵ ŋĽňŊĵŀĽňĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň ĵŋĹķ R Exploration et représentation (EDA) ; les fonctions plot et ggplotǩ ; et les sorties graphiques (exportation png, svg, pdf…).
  20. 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň Lĵ ŋĽňŊĵŀĽňĵʼnĽŃł ĸĹ ĸŃłł͐Ĺň ĵŋĹķ R ĻĻńŀŃʼnNJ
  21. 21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň DĹŊŎ ĹŎĹŁńŀĹň ĸĹ ńĵŇķŃŊŇň Ĺʼn ĸ’ŊʼnĽŀĽňĵʼnĽŃł L’école buissonière L’utiliser ponctuellement ; en le combinant avec d’autres logiciels ; Un atelier sous l’emprise plus générale de R Structurer l’information dans l’ordinateur orientée vers une exploitation automatisée Travailler par script : notion d’automatisation, notion d’inclusion Plein texte : notion d’interopérabilité, point sur la pérennité
  22. 22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TŇĵŋĵĽŀŀĹŇ ĵŋĹķ R Ĺł ňķĽĹłķĹň ļŊŁĵĽłĹň Ĺʼn ňŃķĽĵŀĹň DĹŊŎ ĹŎĹŁńŀĹň ĸĹ ńĵŇķŃŊŇň Ĺʼn ĸ’ŊʼnĽŀĽňĵʼnĽŃł Questions, discussions… marion.maisonobe@univ-tlse2.fr sebastien.plutniak@ehess.fr

×