Upload
marion-maisonobe
View
315
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Une séance d'atelier méthodologique pour une introduction à R
Citation preview
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T R
T R
O , , …
Sébastien Plutniak1 Marion Maisonobe2
1Lisst-Cers, Ehess — 2Lisst-Cieu, Labex SMS
maiResTO, Toulouse
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RI
L
L
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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RI
D ’
D ’
I
Q ’ R ?
L’ R
L R
L’ R
L R
D ’
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RI
T
T
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 ?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RQ ’ R ?
R, ’
R, ’
Les principales solutions actuelles pour le calcul scientifique
SPSS, SAS ;
Python (NumPy) ;
MATLAB ;
R.
Alors, pourquoi R ?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RQ ’ R ?
R, ’
R, ’
Deux mots d’histoire
Dans les années , au Bell Laboratories (New Jersey, É.-U.) John Chamberset ses collaborateurs développent S, un système dédié de traitement desdonnées qui est à la fois un langage interactif et un environnement deprogrammation.
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 pourMacintosh 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 lacommunauté. (Aujourd’hui, mai , packages sont disponibles.)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RQ ’ R ?
R, ’
R, ’
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 …)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RQ ’ R ?
R, ’
D R
Distributions et interfaces
utilisation en ligne de commande ;
Rgui ;
Rstudio ;
Rcommander.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL’ R
L ’ R
L ’ R
Une attitude fondamentale : l’auto-documentation
R 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 fonctionhelp(un sujet) ou?(un sujet)
() : exécuter les exemples contenus dans l’aide d’une fonction.example(nom d’une fonction)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL’ R
R
R
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL’ R
R
R
Sites internet
Le site du projet :http://cran.r-project.org/
Les site de communautés :http://www.r-bloggers.com/http://stackoverflow.comR-help listhttps://stat.ethz.ch/mailman/listinfo/r-helpHadley Wickham Vocabulary :http://adv-r.had.co.nz/Vocabulary.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL’ R
R
R
Livres
Springer, la collection «Use R ! » :Spector, P, , Datamanipulation 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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
S
S
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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
S
S
Modes : ce qu’un objet peut contenir: nombres réels ;
: nombres complexes :
: valeurs booléennes (vrai/faux) ;
: chaînes de caractères ;
: fonction ;
: données diverses ;
: expressions non évaluées.
Classes : types d’objets: vecteurs ;
: matrices ;
: liste ;
. data.frames.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
S
S
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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
S
U
L’assignation
i = 3i <- 33 -> iassign(”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)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
S
L R
Les structures de contrôleIf…then, while,for
La vectorisation : en R tout est vecteursoient 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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL’ R
L’ RL’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)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
L R
Exploration et représentation (EDA) ;
les fonctions plot et ggplot ;
et les sorties graphiques (exportation png, svg, pdf…).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RL R
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RD ’
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 exploitationautomatisée
Travailler par script : notion d’automatisation, notion d’inclusion
Plein texte : notion d’interopérabilité, point sur la pérennité
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T RD ’
Questions, discussions…
[email protected]@ehess.fr