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


Top Related