SlideShare una empresa de Scribd logo
1 de 23
1
2
Il est essentiel d’utiliser un bon
outil d’analyse de données !
3
Une
Introduction à
François Guillem
Analyste 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 fois
o Limité par la RAM disponible
o 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 subtil
message <- "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(«2
012-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:3
V2 <- c(0, 3.5, 5)
V3 <- c("a", "b", "c")
# Opérations
V1 + 1
V1 + V2
V1 > 1
V1 > V2 # Comparaison élément par élément
exp(V1); log(V1) # Renvoient un vecteur taille 3
2 * V1
V1 * V2 # multiplication élément par élément
t(V1) %*% V2 # produit matriciel
V1 %*% t(V2)
Travailler avec des vecteurs
# Sélections
V1[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)
V3
V3["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 variable
data$nom_de_variable
#Supprimer une variable:
data$var <- NULL
# Créer une variable
data$nouvelle_var <- data$var1 + 3
# Sélections : comme pour les vecteurs sauf qu’on a deux dimensions
data[c(1, 2, 3), ] # 3 premières lignes
data[, 1] # 1ère colonne
data[c(1, 2, 3), 1] # trois premiers éléments de la 1ère colonne
head(data, 3) # trois premières lignes du tableau
tail(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 session
library(nom_du_package) # pas besoin de guillemets

Más contenido relacionado

La actualidad más candente

Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
03 Apprentissage statistique
03 Apprentissage statistique03 Apprentissage statistique
03 Apprentissage statistiqueBoris Guarisma
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdfhanamettali
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesMohamed Heny SELMI
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql Yassine Badri
 
Analyse Factorielle des Correspondances
Analyse Factorielle des CorrespondancesAnalyse Factorielle des Correspondances
Analyse Factorielle des CorrespondancesJaouad Dabounou
 
Cours acp mehdi_aman
Cours acp mehdi_amanCours acp mehdi_aman
Cours acp mehdi_amanMehdi Aman
 
Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesGiorgio Pauletto
 
5.3 Régression logistique
5.3 Régression logistique5.3 Régression logistique
5.3 Régression logistiqueBoris Guarisma
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian Lilia Sfaxi
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes expertsBruno Delb
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Adad Med Chérif
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisinsBoris Guarisma
 

La actualidad más candente (20)

COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
03 Apprentissage statistique
03 Apprentissage statistique03 Apprentissage statistique
03 Apprentissage statistique
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
 
BPMN,jBPM,BPEL
BPMN,jBPM,BPELBPMN,jBPM,BPEL
BPMN,jBPM,BPEL
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql
 
Analyse Factorielle des Correspondances
Analyse Factorielle des CorrespondancesAnalyse Factorielle des Correspondances
Analyse Factorielle des Correspondances
 
Cours acp mehdi_aman
Cours acp mehdi_amanCours acp mehdi_aman
Cours acp mehdi_aman
 
Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes Statistiques
 
5.3 Régression logistique
5.3 Régression logistique5.3 Régression logistique
5.3 Régression logistique
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes experts
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Clustering
ClusteringClustering
Clustering
 
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Les systèmes de recommandations
Les systèmes de recommandationsLes systèmes de recommandations
Les systèmes de recommandations
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
 

Destacado

Plutniak maisonobe resto atelier2-network
Plutniak maisonobe resto atelier2-networkPlutniak maisonobe resto atelier2-network
Plutniak maisonobe resto atelier2-networkMarion Maisonobe
 
Evolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEOEvolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEODimitri Brunel
 
Analyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introductionAnalyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introductionAhmadou DICKO
 
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...Emmanuel Vivier
 
Analyse d’un langage de programmation réflexif orienté composants Etude de COMPO
Analyse d’un langage de programmation réflexif orienté composants Etude de COMPOAnalyse d’un langage de programmation réflexif orienté composants Etude de COMPO
Analyse d’un langage de programmation réflexif orienté composants Etude de COMPOlucas34990
 
Cortal consors informe semanal de_analisis_tecnico_01-03-2011
Cortal consors informe semanal de_analisis_tecnico_01-03-2011Cortal consors informe semanal de_analisis_tecnico_01-03-2011
Cortal consors informe semanal de_analisis_tecnico_01-03-2011Salainversion
 
Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...
Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...
Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...Salainversion
 
II.TES: Qué es emprender en lo Social
II.TES: Qué es emprender en lo SocialII.TES: Qué es emprender en lo Social
II.TES: Qué es emprender en lo Socialbancajaull
 
Basesdatos teo5 modelo_relacional
Basesdatos teo5 modelo_relacionalBasesdatos teo5 modelo_relacional
Basesdatos teo5 modelo_relacionalgrupo coda
 
Enregistreurs de-données presentation-slideshare
Enregistreurs de-données presentation-slideshareEnregistreurs de-données presentation-slideshare
Enregistreurs de-données presentation-slideshareAddi-Data
 
Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011
Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011
Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011Salainversion
 
Prud hommme
Prud hommmePrud hommme
Prud hommmelpeltier
 
Astronomia De La Religion
Astronomia De La ReligionAstronomia De La Religion
Astronomia De La Religionguestca38365f
 
Presentacion Benicassim Julio 2009 Federico Gutierrez Solana Salcedo
Presentacion Benicassim Julio 2009 Federico Gutierrez Solana SalcedoPresentacion Benicassim Julio 2009 Federico Gutierrez Solana Salcedo
Presentacion Benicassim Julio 2009 Federico Gutierrez Solana Salcedoincrea
 

Destacado (20)

Présentation de data.table
Présentation de data.tablePrésentation de data.table
Présentation de data.table
 
Plutniak maisonobe resto atelier2-network
Plutniak maisonobe resto atelier2-networkPlutniak maisonobe resto atelier2-network
Plutniak maisonobe resto atelier2-network
 
Evolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEOEvolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEO
 
Analyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introductionAnalyse de données avec R : Une petite introduction
Analyse de données avec R : Une petite introduction
 
Atelier r-gerad
Atelier r-geradAtelier r-gerad
Atelier r-gerad
 
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...
 
Analyse d’un langage de programmation réflexif orienté composants Etude de COMPO
Analyse d’un langage de programmation réflexif orienté composants Etude de COMPOAnalyse d’un langage de programmation réflexif orienté composants Etude de COMPO
Analyse d’un langage de programmation réflexif orienté composants Etude de COMPO
 
Cortal consors informe semanal de_analisis_tecnico_01-03-2011
Cortal consors informe semanal de_analisis_tecnico_01-03-2011Cortal consors informe semanal de_analisis_tecnico_01-03-2011
Cortal consors informe semanal de_analisis_tecnico_01-03-2011
 
Prince silencieux
Prince silencieuxPrince silencieux
Prince silencieux
 
Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...
Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...
Informe semanal de Análisis Técnico de Cortal Consors del 21 de diciembre de ...
 
Goanimate
GoanimateGoanimate
Goanimate
 
Miembros pmi
Miembros pmiMiembros pmi
Miembros pmi
 
II.TES: Qué es emprender en lo Social
II.TES: Qué es emprender en lo SocialII.TES: Qué es emprender en lo Social
II.TES: Qué es emprender en lo Social
 
Basesdatos teo5 modelo_relacional
Basesdatos teo5 modelo_relacionalBasesdatos teo5 modelo_relacional
Basesdatos teo5 modelo_relacional
 
Enregistreurs de-données presentation-slideshare
Enregistreurs de-données presentation-slideshareEnregistreurs de-données presentation-slideshare
Enregistreurs de-données presentation-slideshare
 
Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011
Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011
Cortal consors informe_semanal_de_analisis_tecnico_22-02-2011
 
Prud hommme
Prud hommmePrud hommme
Prud hommme
 
Astronomia De La Religion
Astronomia De La ReligionAstronomia De La Religion
Astronomia De La Religion
 
Massacre amazonie-re
Massacre amazonie-reMassacre amazonie-re
Massacre amazonie-re
 
Presentacion Benicassim Julio 2009 Federico Gutierrez Solana Salcedo
Presentacion Benicassim Julio 2009 Federico Gutierrez Solana SalcedoPresentacion Benicassim Julio 2009 Federico Gutierrez Solana Salcedo
Presentacion Benicassim Julio 2009 Federico Gutierrez Solana Salcedo
 

Similar a Une Introduction à R

Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdfOuailChoukhairi
 
Gardez vos projets R organisés avec le package "project"
Gardez vos projets R organisés avec le package "project"Gardez vos projets R organisés avec le package "project"
Gardez vos projets R organisés avec le package "project"parisraddicts
 
Avec le langage R, prenez de la hauteur dans l’analyse de vos données !
Avec le langage R, prenez de la hauteur dans l’analyse de vos données ! Avec le langage R, prenez de la hauteur dans l’analyse de vos données !
Avec le langage R, prenez de la hauteur dans l’analyse de vos données ! Yi YANG
 
C++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Parischristophep21
 
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Microsoft
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanMicrosoft
 
Développer en natif avec C++11
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11Microsoft
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Laurent Guérin
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxLuneSabsPericolo1
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieurFredy Fadel
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de basemohamedAitomar1
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)mohamedAitomar1
 
.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotique.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotiqueMicrosoft
 

Similar a Une Introduction à R (20)

Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
Gardez vos projets R organisés avec le package "project"
Gardez vos projets R organisés avec le package "project"Gardez vos projets R organisés avec le package "project"
Gardez vos projets R organisés avec le package "project"
 
Avec le langage R, prenez de la hauteur dans l’analyse de vos données !
Avec le langage R, prenez de la hauteur dans l’analyse de vos données ! Avec le langage R, prenez de la hauteur dans l’analyse de vos données !
Avec le langage R, prenez de la hauteur dans l’analyse de vos données !
 
C++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Paris
 
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet Spartan
 
Développer en natif avec C++11
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
GetText / Rails - FR
GetText / Rails - FRGetText / Rails - FR
GetText / Rails - FR
 
GetText / Rails
GetText / RailsGetText / Rails
GetText / Rails
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieur
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
 
.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotique.NET Microframework: du code, de l&rsquo;électronique, de la robotique
.NET Microframework: du code, de l&rsquo;électronique, de la robotique
 

Más de François Guillem

Cartographie interactive avec R
Cartographie interactive avec RCartographie interactive avec R
Cartographie interactive avec RFrançois Guillem
 
Cartographie politique avec R
Cartographie politique avec RCartographie politique avec R
Cartographie politique avec RFrançois Guillem
 
Outils cartographiques et en statistique spatiale sur R
Outils cartographiques et en statistique spatiale sur ROutils cartographiques et en statistique spatiale sur R
Outils cartographiques et en statistique spatiale sur RFrançois Guillem
 

Más de François Guillem (6)

Ltv r addicts
Ltv r addictsLtv r addicts
Ltv r addicts
 
Cartographie interactive avec R
Cartographie interactive avec RCartographie interactive avec R
Cartographie interactive avec R
 
Cartographie politique avec R
Cartographie politique avec RCartographie politique avec R
Cartographie politique avec R
 
Outils cartographiques et en statistique spatiale sur R
Outils cartographiques et en statistique spatiale sur ROutils cartographiques et en statistique spatiale sur R
Outils cartographiques et en statistique spatiale sur R
 
CaRtogRaphie avec R
CaRtogRaphie avec RCaRtogRaphie avec R
CaRtogRaphie avec R
 
Meetup raddicts reshape2
Meetup raddicts reshape2Meetup raddicts reshape2
Meetup raddicts reshape2
 

Une Introduction à R

  • 1. 1
  • 2. 2
  • 3. Il est essentiel d’utiliser un bon outil d’analyse de données ! 3
  • 5. 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 !
  • 6. 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
  • 9. « 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 !
  • 10. 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
  • 11. Les inconvénients de • Gestion peu efficace de la mémoire : o Les données sont souvent copiées plusieurs fois o Limité par la RAM disponible o 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
  • 12. 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 !
  • 13. 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
  • 15. Hello World print("Hello world") "Hello world" # Plus subtil message <- "Hello world" message
  • 16. 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
  • 17. 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(«2 012-12-21»)
  • 18. 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:3 V2 <- c(0, 3.5, 5) V3 <- c("a", "b", "c") # Opérations V1 + 1 V1 + V2 V1 > 1 V1 > V2 # Comparaison élément par élément exp(V1); log(V1) # Renvoient un vecteur taille 3 2 * V1 V1 * V2 # multiplication élément par élément t(V1) %*% V2 # produit matriciel V1 %*% t(V2)
  • 19. Travailler avec des vecteurs # Sélections V1[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) V3 V3["a"] V3[c("a", "b")]
  • 20. Travailler avec des « data.frame » # Importer données : read.csv, read.xls, sqlQuery, load, etc. data <- read.csv(«fichier.csv») # Afficher une variable data$nom_de_variable #Supprimer une variable: data$var <- NULL # Créer une variable data$nouvelle_var <- data$var1 + 3 # Sélections : comme pour les vecteurs sauf qu’on a deux dimensions data[c(1, 2, 3), ] # 3 premières lignes data[, 1] # 1ère colonne data[c(1, 2, 3), 1] # trois premiers éléments de la 1ère colonne head(data, 3) # trois premières lignes du tableau tail(data, 3) # trois dernières lignes du tableau
  • 21. 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) }
  • 22. 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 }
  • 23. 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 session library(nom_du_package) # pas besoin de guillemets