SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
AchrafAntri2
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 

Tendances (20)

Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
Rapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFERapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFE
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Rapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livresRapport d'une application mobile de recommendation de livres
Rapport d'une application mobile de recommendation de livres
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
Ecole ESMA : Rapport de projet - Application de gestion d'une bibliotheque
Ecole ESMA : Rapport de projet - Application de gestion d'une bibliothequeEcole ESMA : Rapport de projet - Application de gestion d'une bibliotheque
Ecole ESMA : Rapport de projet - Application de gestion d'une bibliotheque
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 
Modificateurs d'accès en java
Modificateurs d'accès en javaModificateurs d'accès en java
Modificateurs d'accès en java
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Calculatrice scientifique en JAVA(AWT)
Calculatrice scientifique en JAVA(AWT)Calculatrice scientifique en JAVA(AWT)
Calculatrice scientifique en JAVA(AWT)
 

En vedette

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
Salainversion
 
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
 
Basesdatos teo5 modelo_relacional
Basesdatos teo5 modelo_relacionalBasesdatos teo5 modelo_relacional
Basesdatos teo5 modelo_relacional
grupo coda
 
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
Salainversion
 
Astronomia De La Religion
Astronomia De La ReligionAstronomia De La Religion
Astronomia De La Religion
guestca38365f
 
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
increa
 

En vedette (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
 

Similaire à Une Introduction à R

Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
OuailChoukhairi
 
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
Jean-Marc Dupont
 
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
LuneSabsPericolo1
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieur
Fredy Fadel
 

Similaire à 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"
 
Présentation Logiciel R.pptx
Présentation Logiciel R.pptxPrésentation Logiciel R.pptx
Présentation Logiciel R.pptx
 
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++
 
Initiation r
Initiation rInitiation r
Initiation r
 
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
 

Plus de François Guillem

Plus 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