Upload
francois-guillem
View
280
Download
4
Embed Size (px)
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.
Citation preview
1
2
3
Il est essentiel d’utiliser un bon outil d’analyse de données !
Une Introduction à François GuillemAnalyste de données @
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 !
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
Démarrer
Pourquoi et quand utiliser ?
« 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 !
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
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
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 !
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
Démonstration
Hello World
print("Hello world")"Hello world"
# Plus subtilmessage <- "Hello world"message
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
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»)
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)
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")]
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
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)}
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}
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