22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T⁴⁸⅛⅛⁴ ⁸ R ⅝ ⁵⅝⁵ ⁷⅜⅝⁵ ⁶ ⁵⅞⅛⁵ T⁴⁸⅛⅛⁴ ⁸ R ⅝ ⁵⅝⁵ ⁷⅜⅝⁵ ⁶ ⁵⅞⅛⁵ O⁷⁶⅛⁵, ⅓⅓⁴⅝⁶⁵⁵, ⅓⅞⁵⁵⅛⁶⁵… Sébastien Plutniak 1 Marion Maisonobe 2 1 Lisst-Cers, Ehess — 2 Lisst-Cieu, Labex SMS Ǩǩ mai ǩǧǨǫ ResTO, Toulouse

Plutniak maisonobe r esto atelier1-introduction

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T R

T R

O , , …

Sébastien Plutniak1 Marion Maisonobe2

1Lisst-Cers, Ehess — 2Lisst-Cieu, Labex SMS

maiResTO, Toulouse

Page 2: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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.

Page 3: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T RI

D ’

D ’

I

Q ’ R ?

L’ R

L R

L’ R

L R

D ’

Page 4: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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 ?

Page 5: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T RQ ’ R ?

R, ’

R, ’

Les principales solutions actuelles pour le calcul scientifique

SPSS, SAS ;

Python (NumPy) ;

MATLAB ;

R.

Alors, pourquoi R ?

Page 6: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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

Page 7: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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

Page 8: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T RQ ’ R ?

R, ’

D R

Distributions et interfaces

utilisation en ligne de commande ;

Rgui ;

Rstudio ;

Rcommander.

Page 9: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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)

Page 10: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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

Page 11: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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

Page 12: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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

Page 13: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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.

Page 14: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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.

Page 15: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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.

Page 16: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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)

Page 17: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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

Page 18: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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)

Page 19: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T RL R

L R

Exploration et représentation (EDA) ;

les fonctions plot et ggplot ;

et les sorties graphiques (exportation png, svg, pdf…).

Page 20: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T RL R

Page 21: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

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é

Page 22: Plutniak maisonobe r esto atelier1-introduction

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

T RD ’

Questions, discussions…

[email protected]@ehess.fr