une introduction à r

23
1

Upload: francois-guillem

Post on 18-Jun-2015

280 views

Category:

Technology


4 download

DESCRIPTION

Slides présentés à l'occasion du premier meetup Paris R Addicts. La présentation est destiné à ceux qui ne connaissent pas ou très peu. Elle montre les intérêts et les inconvénients du logiciel ainsi que des éléments de syntaxe et des liens qui aideront l'apprentissage.

TRANSCRIPT

Page 1: Une Introduction à R

1

Page 2: Une Introduction à R

2

Page 3: Une Introduction à R

3

Il est essentiel d’utiliser un bon outil d’analyse de données !

Page 4: Une Introduction à R

Une Introduction à François GuillemAnalyste de données @

Page 5: Une Introduction à R

Qu’est-ce que ?

• Logiciel de statistique

• Langage de programmation dédié à l’analyse statistique

• Open source (gratuit !)

• Pas de GUI : tout se fait en ligne de commande !

Page 6: Une Introduction à R

Où obtenir ?

• Le logiciel de base est disponible ici :http://cran.r-project.org

• Pour les utilisateurs windows, installer en plus Rtools :

http://cran.r-project.org/bin/windows/Rtools/

• Pour faciliter votre vie, installer l’IDE Rstudio :

http://www.rstudio.com/ide/download/desktop

Page 7: Une Introduction à R

Démarrer

Page 8: Une Introduction à R

Pourquoi et quand utiliser ?

Page 9: Une Introduction à R

« Philosophie » de

• Le matériel n’est pas une limite

• En particulier, beaucoup plus de RAM que de données à traiter

• La vraie contrainte, c’est votre temps !

Page 10: Une Introduction à R

Les avantages de

Simplicité

• Langage relativement simple

• Conçu pour des non-développeurs

• Mais apprentissage initial difficile

Flexibilité

• Langage très permissif

• Système d’extensions (packages)

• Interface avec d’autres langages (Java, C, C++)

• Appeler d’autres programmes

Interactivité

• Commandes exécutées à la volée

• Permet de décider au fur et à mesure quoi faire

• Tous les résultats peuvent être stockés et réutilisés

Partage

• Open source• Réplicabilité

des travaux• Génération de

rapports• Système

d’extension• Communauté

dynamique et sympatique

Page 11: Une Introduction à R

Les inconvénients de

• Gestion peu efficace de la mémoire :o Les données sont souvent copiées plusieurs foiso Limité par la RAM disponibleo Volume de données max ≈ RAM / 4

• R peut être très lent lorsqu’il s’agit de réaliser un très grand nombre d’opérations simples (Evitez les boucles !)

• Limites atténuées par certains packages mais temps d’apprentissage long

Page 12: Une Introduction à R

Obtenir de l’aide

• "Short-refcard"

• Dans Rstudio : recherche dans l’onglet aide. Ne cherche que les fonctions dans les packages installés

• Les vignettes : taper « vignette() » dans la console R

• Sur le site du CRAN (taskviews, search)

• Forum du cirad

• Nous !

Page 13: Une Introduction à R

Manuels en français

• R pour les débutants : se concentre plutôt sur les aspects techniques de R

• Introduction à R : plus pragmatique, apprend à réaliser des analyses simples avec R

Page 14: Une Introduction à R

Démonstration

Page 15: Une Introduction à R

Hello World

print("Hello world")"Hello world"

# Plus subtilmessage <- "Hello world"message

Page 16: Une Introduction à R

Types de données

• numeric

• logical (TRUE, FALSE, 1 > 0, 1 == 0, TRUE & FALSE, TRUE | FALSE)

• character => texte

• factor => variables catégorielles

• data.frame => tableau dans lequel les colonnes peuvent avoir des types différents

• list => données non-tabulaires

• ... et bien d’autres

Page 17: Une Introduction à R

Types de données

• En cas de doute: class(x)

• conversion: as.nom_de_classe(x)

• ex: as.character(1), as.numeric(«1»), as.Date(«2012-12-21»)

Page 18: Une Introduction à R

Travailler avec des vecteurs# Dans R la plupart des fonctions sont vectorisées, ie. elles prennent # un vecteur et renvoient un vecteur de la même taille => Les boucles# sont rarement nécessaires

# Créer un vecteur : c (comme «concaténation»)V1 <- c(1, 2, 3) # ou V1 <- 1:3V2 <- c(0, 3.5, 5)V3 <- c("a", "b", "c")

# OpérationsV1 + 1V1 + V2V1 > 1V1 > V2 # Comparaison élément par élémentexp(V1); log(V1) # Renvoient un vecteur taille 32 * V1V1 * V2 # multiplication élément par élémentt(V1) %*% V2 # produit matricielV1 %*% t(V2)

Page 19: Une Introduction à R

Travailler avec des vecteurs

# SélectionsV1[1] # Sélectionne le premier élément

V1[c(1,2)] # Sélectionne les deux premiers éléments

V1[c(TRUE, TRUE, FALSE)] # Idem

V1[V1 < V2] # Que va-t-il se passer ?V2[V1] # Et là ?

# Chaque élément d’un vecteur peut avoir un nom:V3 <- c(a = 1, b = 2, c = 3)V3V3["a"]V3[c("a", "b")]

Page 20: Une Introduction à R

Travailler avec des « data.frame »# Importer données : read.csv, read.xls, sqlQuery, load, etc.data <- read.csv(«fichier.csv»)

# Afficher une variabledata$nom_de_variable

#Supprimer une variable:data$var <- NULL

# Créer une variabledata$nouvelle_var <- data$var1 + 3

# Sélections : comme pour les vecteurs sauf qu’on a deux dimensionsdata[c(1, 2, 3), ] # 3 premières lignesdata[, 1] # 1ère colonnedata[c(1, 2, 3), 1] # trois premiers éléments de la 1ère colonnehead(data, 3) # trois premières lignes du tableautail(data, 3) # trois dernières lignes du tableau

Page 21: Une Introduction à R

Boucles, conditions, fonctions

a <- 1

if (a == 1) { # code à évaluer si la condition est vraie}

a <- TRUE

if (a) { # ...}

for (i in 1:5) { print(i)}

v <- c("a", "b", "c") for (letter in v) { print(letter)}

Page 22: Une Introduction à R

Boucles, conditions, fonctions

f <- function(x) { x <- x^2 return(x)}

f <- function(x) { x <- x^2 x # Le return est implicite}

f <- function(x) { x^2}

f <- function(x, y = 0) { # valeur par défaut x + y}

Page 23: Une Introduction à R

Les packages

# Un package est un ensemble de fonctions et de classes# supplémentaires

# A faire une seule fois install.packages("nom_du_package")

# A faire à chaque nouvelle sessionlibrary(nom_du_package) # pas besoin de guillemets