SlideShare une entreprise Scribd logo
1  sur  27
Pr. F. Guerouate
Licence Professionnelle en Systèmes d’information et BIG DATA (SIBD)
Ecole Supérieure de Technologie - Salé
Université́ Mohammed V - Rabat
Analyse des données sous R
Analyse des données sous R 1
Pr. F. Guerouate
• Introduction générale
• Installation de R et RStudio
• Travailler sous R: mode de fonctionnement
• Les bases du langage R: premières Operations sous R
• Concepts et Structures de données sous R
Analyse des données sous R 2
Pr. F. Guerouate
• À l’origine fut le S, un langage pour « programmer avec des données »développé chez Bell Laboratories à
partir du milieu des années 1970 par une équipe de chercheurs menée par John M. Chambers.
• Ross Ihaka et Robert Gentleman proposent un langage pour l’analyse de données et les graphiques qu’ils
nomment R (Ihaka et Gentleman,1996)
• À la suggestion de Martin Maechler de l’ETH de Zurich, les auteurs décident d’intégrer leur nouveau langage
au projet GNU1, faisant de R un logiciel libre.
• R est un environnement intégré de manipulation de données, de calcul et de préparation de graphiques.
( environnement statistique SPSS ou SAS, par exemple)
• C’est aussi un langage de programmation complet et autonome.
Analyse des données sous R 3
Pr. F. Guerouate
Introduction
• Le R est un langage particulièrement puissant pour les applications
mathématiques et statistiques (et donc actuarielles) puisque
précisément développé dans ce but.
• Parmi ses caractéristiques particulièrement intéressantes:
• langage basé sur la notion de vecteur, ce qui simplifie les calculs
mathématiques et réduit considérablement le recours aux structures
itératives (boucles for, while, etc.) ;
• pas de typage ni de déclaration obligatoire des variables ;
• programmes courts, en général quelques lignes de code seulement ;
• temps de développement très court.
Analyse des données sous R 4
Pr. F. Guerouate
Introduction
• Installation de R
• https://www.r-project.org/
Analyse des données sous R 5
Pr. F. Guerouate
Installation de R et RStudio
On peut choisir un
serveur plus proche
de Marwan
• Installation de R
Analyse des données sous R 6
Pr. F. Guerouate
Installation de R et RStudio
• Interface
Analyse des données sous R 7
Pr. F. Guerouate
Installation de R et RStudio
• saisie des commandes
• Pas de sauvegarde du travail
• Afficher les résultats sur la
même page
• Installation de Rstudio
• Environnement de développement intégrer
• Lien: https://www.rstudio.com
• Products => Rstudio => Desktop => Open Source Edition
Analyse des données sous R 8
Pr. F. Guerouate
Installation de R et RStudio
• Interface Rstudio
Analyse des données sous R 9
Pr. F. Guerouate
Installation de R et RStudio
La zone A permet d’éditer du code R
La Zone B est
la console du
logiciel R
La Zone C permet d’avoir accès
à plusieurs éléments :
Panneau multifonctions :
* Explorateur fichiers
* Explorateur packages
* Aide
* Figures
R propose les outils standard de la programmation:
• Données typées. Dans R, le type de base est le vecteur. Il est possible de définir des tableaux et des matrices.
Mais en interne R les linéarise sous forme de vecteurs.
• Structures avancées de données. Cela peut être des résultats de calculs i.e. les modèles; des ensembles de
vecteur (les data.frame).
• Structures algorithmiques: les branchements conditionnels et les boucles.
• Les outils de la programmation structurée: pouvoir regrouper du code dans des procédures et des fonctions.
Cela permet de mieux organiser les applications.
• Organisation du code en modules. Fichiers «.r» que l’on peut appeler dans d’autres programmes.
• R est «case sensitive».
Analyse des données sous R 10
Pr. F. Guerouate
Travailler sous R: mode de fonctionnement
Analyse des données sous R 11
Pr. F. Guerouate
Les bases du langage R: premières Opérations sous R
Analyse des données sous R 12
Pr. F. Guerouate
Les bases du langage R: premières Opérations sous R
Données, types : le type de base est le vecteur → scalaire = vecteur de taille 1
Saisie et affichage
A<-scan()
Print(A)
• Introduction générale
• Concepts et Structures de données sous R:
• Concepts de base
• Vecteurs
• Matrices
• Tableaux
• Listes
• Dataframes
• Manipulations avancées
• Problème de données manquantes
Analyse des données sous R 13
Pr. F. Guerouate
Analyse des données sous R 14
Pr. F. Guerouate
Concepts et Structures de données sous R: concepts de base
Le point de départ d’une analyse de données en R est d’avoir accès aux données. Ces données
doivent être stockées dans un ou des objets R. Pour utiliser R, il faut donc d’abord connaître les
différents types d’objets pouvant servir de « contenant à données » et savoir travailler avec ces
objets.
Analyse des données sous R 15
Pr. F. Guerouate
Structures de données sous R
les Vecteurs:
le vecteur est l’unité de base dans les calculs.
Dans un vecteur simple, tous les éléments doivent être du même mode.
Un vecteur peut être crée par : c(), : , rep()
Il existe quatre types de base de vecteurs :
les nombres réels : numeric
les nombres entiers : integer
les chaînes de caractères : character
les valeurs logiques : logical
les autres types de structures:
Matrix: matrix()
Tableau multidimensionnel: array()
Liste: list()
Tableau individus * variables: data.frame()
On utiliser la fonction class() pour connaitre le type d’un objet ou consulter l’onglet Environnement
Analyse des données sous R 16
Pr. F. Guerouate
Structure de contrôle
Structures conditionnelles
if (x>0) y=x*log(x) else y=0
y=ifelse(x>0,x*log(x),0)
Exemple:
Analyse des données sous R 17
Pr. F. Guerouate
Structure de contrôle
Le cas particulier de «ifelse» -Qui se comporte comme la fonction SI() d’Excel
Il renvoie une valeur selon que la condition est vraie ou pas
Opération simple suivie d’une affectation
Analyse des données sous R 18
Pr. F. Guerouate
Structure de contrôle
Structures itératives
for (i in 1:10)
print(i)
Exemple:
for (var in seq) {commandes}
while (condition) {commandes}
repeat {commandes ; if (condition) break }
Analyse des données sous R 19
Pr. F. Guerouate
Structure de contrôle
y=z=0;
for (i in 1:10) {
x=runif(1)
if (x>0.5) y=y+1
else z=z+1
}
y;z
for (i in c(2,4,5,8)) print(i)
x = rnorm(100)
y = ifelse(x>0, 1, -1) # condition
y;
i=0
while (i<10) {
print(i)
i=i+1
}
Exemple:
Analyse des données sous R 20
Pr. F. Guerouate
Programmation Modulaire sous R
les Modules:
1- Module = fichier «.r»
2- On peut regrouper dans un module les fonctions traitant des
problèmes de même nature ou manipulant le même type
d’objet
3- Pour charger les fonctions d’un module dans un autre
module / programme principal, on utilise la commande
source(nom du fichier module.r)
4- Les fonctions importées sont chargées en mémoire. Si
collision de noms, les plus récentes écrasent les anciennes
Analyse des données sous R 21
Pr. F. Guerouate
Programmation Modulaire sous R: fonctions
Les fonctions sous R:
Bloc d’expressions, forcément nommée
Visible comme un objet en mémoire [avec ls()]
Peut être supprimée avec rm(), comme tout autre objet
Prend des paramètres en entrée (non typés)
Renvoie une valeur en sortie (même si on n’écrit pas spécifiquement
d’instruction pour cela
Pour une fonction on peut avoir des paramètres par défaut
Analyse des données sous R 22
Pr. F. Guerouate
Programmation Modulaire sous R: les fonctions
Appel des fonctions :
Passage de paramètre par position:
print(egal(4,4))
Passage de paramètre par nom:
print(egal(a=3,b=9))
print(egal(b=0,a=7))
Pour une fonction on peut avoir des paramètres par défaut
Valeur par
défaut 10 est
utilisé
Valeur 2
remplace 10
Analyse des données sous R 23
Pr. F. Guerouate
Programmation Modulaire sous R: les fonctions
Portés des variables :
Les variables définies localement dans les
fonctions sont uniquement visibles dans ces
fonctions. Elles sont absentes de la mémoire
de R après l’exécution de la fonction.
Variable local
Les variables globales sont définies en dehors
de la fonction. Il n’est pas nécessaire que la
variable globale soit disponible lors de
l’implémentation de la fonction, il faut en
revanche qu’elle soit disponible lors de
l’exécution de la fonction
Variable global
Analyse des données sous R 24
Pr. F. Guerouate
Programmation Modulaire sous R: les fonctions
Imbrications des fonctions: les fonctions locales et globales
Fonction locale
Fonction globale
Analyse des données sous R 25
Pr. F. Guerouate
Programmation Modulaire sous R: les fonctions
Fonctions renvoyant plusieurs paramètres
Pour qu’une fonction renvoi plusieurs valeurs on est obligé de contourner le problème en
mettant à contribution une structure de liste d’objets. Les objets peuvent être de classe
différente, au final l’outil est très souple.
Analyse des données sous R 26
Pr. F. Guerouate
Programmation Modulaire sous R: les fonctions
Passage d’une fonction en paramètre
Tout objet peut être paramètre d’une
fonction, y compris une autre fonction.
On parle alors de «fonction callback»
(fonction de rappel en français).
• https://cran.r-project.org/doc/contrib/Goulet_introduction_programmation_R.pdf
• http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_R.html
• https://delladata.fr/installer-logiciel-r-environnement-r-studio/
• https://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/st-tutor4-R-prog.pdf
Analyse des données sous R 27
Pr. F. Guerouate
Références

Contenu connexe

Similaire à Analyse_desDonnées_sousR.pptx

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
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 
Matinale "Data Science et Machine Learning"
Matinale "Data Science et Machine Learning"Matinale "Data Science et Machine Learning"
Matinale "Data Science et Machine Learning"Aline Deschamps
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Fahad Golra
 
Introduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RIntroduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RLaurent Beauguitte
 
Enib cours c.a.i. web - séance #5 : scala play! framework
Enib   cours c.a.i. web - séance #5 : scala play! frameworkEnib   cours c.a.i. web - séance #5 : scala play! framework
Enib cours c.a.i. web - séance #5 : scala play! frameworkHoracio Gonzalez
 
Alphorm.com Formation Data science avec R - Prise en main des IDE
Alphorm.com Formation Data science avec R - Prise en main des IDEAlphorm.com Formation Data science avec R - Prise en main des IDE
Alphorm.com Formation Data science avec R - Prise en main des IDEAlphorm
 
Programmation Android - 02 - Android
Programmation Android - 02 - AndroidProgrammation Android - 02 - Android
Programmation Android - 02 - AndroidYann Caron
 
In01 - Programmation Android - 02 - android
In01 - Programmation Android - 02 - androidIn01 - Programmation Android - 02 - android
In01 - Programmation Android - 02 - androidYann Caron
 
Utilisation potentielle de R dans un institut de statistique publique
Utilisation potentielle de R dans un institut de statistique publiqueUtilisation potentielle de R dans un institut de statistique publique
Utilisation potentielle de R dans un institut de statistique publiqueAhmadou DICKO
 
Recommandations rda sur la citation des données
Recommandations rda sur la citation des donnéesRecommandations rda sur la citation des données
Recommandations rda sur la citation des donnéesFrancois ANDRE
 
Meetup juin2013
Meetup juin2013Meetup juin2013
Meetup juin2013nperu
 
Pdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdf
Pdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdfPdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdf
Pdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdfssuserf24785
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
Annotation Java vs. Decorator Python
Annotation Java vs. Decorator PythonAnnotation Java vs. Decorator Python
Annotation Java vs. Decorator PythonDidier Plaindoux
 
Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...Luc Desruelle
 

Similaire à Analyse_desDonnées_sousR.pptx (20)

Atelier r-gerad
Atelier r-geradAtelier r-gerad
Atelier r-gerad
 
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"
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Matinale "Data Science et Machine Learning"
Matinale "Data Science et Machine Learning"Matinale "Data Science et Machine Learning"
Matinale "Data Science et Machine Learning"
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
Une Introduction à R
Une Introduction à RUne Introduction à R
Une Introduction à R
 
Introduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RIntroduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec R
 
Enib cours c.a.i. web - séance #5 : scala play! framework
Enib   cours c.a.i. web - séance #5 : scala play! frameworkEnib   cours c.a.i. web - séance #5 : scala play! framework
Enib cours c.a.i. web - séance #5 : scala play! framework
 
Alphorm.com Formation Data science avec R - Prise en main des IDE
Alphorm.com Formation Data science avec R - Prise en main des IDEAlphorm.com Formation Data science avec R - Prise en main des IDE
Alphorm.com Formation Data science avec R - Prise en main des IDE
 
Programmation Android - 02 - Android
Programmation Android - 02 - AndroidProgrammation Android - 02 - Android
Programmation Android - 02 - Android
 
In01 - Programmation Android - 02 - android
In01 - Programmation Android - 02 - androidIn01 - Programmation Android - 02 - android
In01 - Programmation Android - 02 - android
 
Utilisation potentielle de R dans un institut de statistique publique
Utilisation potentielle de R dans un institut de statistique publiqueUtilisation potentielle de R dans un institut de statistique publique
Utilisation potentielle de R dans un institut de statistique publique
 
Recommandations rda sur la citation des données
Recommandations rda sur la citation des donnéesRecommandations rda sur la citation des données
Recommandations rda sur la citation des données
 
Meetup juin2013
Meetup juin2013Meetup juin2013
Meetup juin2013
 
Pdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdf
Pdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdfPdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdf
Pdtygreeertzetzesgreytreyreyyqwyzo_R_bon.pdf
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Annotation Java vs. Decorator Python
Annotation Java vs. Decorator PythonAnnotation Java vs. Decorator Python
Annotation Java vs. Decorator Python
 
Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...
 

Dernier

Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 

Dernier (14)

Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 

Analyse_desDonnées_sousR.pptx

  • 1. Pr. F. Guerouate Licence Professionnelle en Systèmes d’information et BIG DATA (SIBD) Ecole Supérieure de Technologie - Salé Université́ Mohammed V - Rabat Analyse des données sous R Analyse des données sous R 1 Pr. F. Guerouate
  • 2. • Introduction générale • Installation de R et RStudio • Travailler sous R: mode de fonctionnement • Les bases du langage R: premières Operations sous R • Concepts et Structures de données sous R Analyse des données sous R 2 Pr. F. Guerouate
  • 3. • À l’origine fut le S, un langage pour « programmer avec des données »développé chez Bell Laboratories à partir du milieu des années 1970 par une équipe de chercheurs menée par John M. Chambers. • Ross Ihaka et Robert Gentleman proposent un langage pour l’analyse de données et les graphiques qu’ils nomment R (Ihaka et Gentleman,1996) • À la suggestion de Martin Maechler de l’ETH de Zurich, les auteurs décident d’intégrer leur nouveau langage au projet GNU1, faisant de R un logiciel libre. • R est un environnement intégré de manipulation de données, de calcul et de préparation de graphiques. ( environnement statistique SPSS ou SAS, par exemple) • C’est aussi un langage de programmation complet et autonome. Analyse des données sous R 3 Pr. F. Guerouate Introduction
  • 4. • Le R est un langage particulièrement puissant pour les applications mathématiques et statistiques (et donc actuarielles) puisque précisément développé dans ce but. • Parmi ses caractéristiques particulièrement intéressantes: • langage basé sur la notion de vecteur, ce qui simplifie les calculs mathématiques et réduit considérablement le recours aux structures itératives (boucles for, while, etc.) ; • pas de typage ni de déclaration obligatoire des variables ; • programmes courts, en général quelques lignes de code seulement ; • temps de développement très court. Analyse des données sous R 4 Pr. F. Guerouate Introduction
  • 5. • Installation de R • https://www.r-project.org/ Analyse des données sous R 5 Pr. F. Guerouate Installation de R et RStudio On peut choisir un serveur plus proche de Marwan
  • 6. • Installation de R Analyse des données sous R 6 Pr. F. Guerouate Installation de R et RStudio
  • 7. • Interface Analyse des données sous R 7 Pr. F. Guerouate Installation de R et RStudio • saisie des commandes • Pas de sauvegarde du travail • Afficher les résultats sur la même page
  • 8. • Installation de Rstudio • Environnement de développement intégrer • Lien: https://www.rstudio.com • Products => Rstudio => Desktop => Open Source Edition Analyse des données sous R 8 Pr. F. Guerouate Installation de R et RStudio
  • 9. • Interface Rstudio Analyse des données sous R 9 Pr. F. Guerouate Installation de R et RStudio La zone A permet d’éditer du code R La Zone B est la console du logiciel R La Zone C permet d’avoir accès à plusieurs éléments : Panneau multifonctions : * Explorateur fichiers * Explorateur packages * Aide * Figures
  • 10. R propose les outils standard de la programmation: • Données typées. Dans R, le type de base est le vecteur. Il est possible de définir des tableaux et des matrices. Mais en interne R les linéarise sous forme de vecteurs. • Structures avancées de données. Cela peut être des résultats de calculs i.e. les modèles; des ensembles de vecteur (les data.frame). • Structures algorithmiques: les branchements conditionnels et les boucles. • Les outils de la programmation structurée: pouvoir regrouper du code dans des procédures et des fonctions. Cela permet de mieux organiser les applications. • Organisation du code en modules. Fichiers «.r» que l’on peut appeler dans d’autres programmes. • R est «case sensitive». Analyse des données sous R 10 Pr. F. Guerouate Travailler sous R: mode de fonctionnement
  • 11. Analyse des données sous R 11 Pr. F. Guerouate Les bases du langage R: premières Opérations sous R
  • 12. Analyse des données sous R 12 Pr. F. Guerouate Les bases du langage R: premières Opérations sous R Données, types : le type de base est le vecteur → scalaire = vecteur de taille 1 Saisie et affichage A<-scan() Print(A)
  • 13. • Introduction générale • Concepts et Structures de données sous R: • Concepts de base • Vecteurs • Matrices • Tableaux • Listes • Dataframes • Manipulations avancées • Problème de données manquantes Analyse des données sous R 13 Pr. F. Guerouate
  • 14. Analyse des données sous R 14 Pr. F. Guerouate Concepts et Structures de données sous R: concepts de base Le point de départ d’une analyse de données en R est d’avoir accès aux données. Ces données doivent être stockées dans un ou des objets R. Pour utiliser R, il faut donc d’abord connaître les différents types d’objets pouvant servir de « contenant à données » et savoir travailler avec ces objets.
  • 15. Analyse des données sous R 15 Pr. F. Guerouate Structures de données sous R les Vecteurs: le vecteur est l’unité de base dans les calculs. Dans un vecteur simple, tous les éléments doivent être du même mode. Un vecteur peut être crée par : c(), : , rep() Il existe quatre types de base de vecteurs : les nombres réels : numeric les nombres entiers : integer les chaînes de caractères : character les valeurs logiques : logical les autres types de structures: Matrix: matrix() Tableau multidimensionnel: array() Liste: list() Tableau individus * variables: data.frame() On utiliser la fonction class() pour connaitre le type d’un objet ou consulter l’onglet Environnement
  • 16. Analyse des données sous R 16 Pr. F. Guerouate Structure de contrôle Structures conditionnelles if (x>0) y=x*log(x) else y=0 y=ifelse(x>0,x*log(x),0) Exemple:
  • 17. Analyse des données sous R 17 Pr. F. Guerouate Structure de contrôle Le cas particulier de «ifelse» -Qui se comporte comme la fonction SI() d’Excel Il renvoie une valeur selon que la condition est vraie ou pas Opération simple suivie d’une affectation
  • 18. Analyse des données sous R 18 Pr. F. Guerouate Structure de contrôle Structures itératives for (i in 1:10) print(i) Exemple: for (var in seq) {commandes} while (condition) {commandes} repeat {commandes ; if (condition) break }
  • 19. Analyse des données sous R 19 Pr. F. Guerouate Structure de contrôle y=z=0; for (i in 1:10) { x=runif(1) if (x>0.5) y=y+1 else z=z+1 } y;z for (i in c(2,4,5,8)) print(i) x = rnorm(100) y = ifelse(x>0, 1, -1) # condition y; i=0 while (i<10) { print(i) i=i+1 } Exemple:
  • 20. Analyse des données sous R 20 Pr. F. Guerouate Programmation Modulaire sous R les Modules: 1- Module = fichier «.r» 2- On peut regrouper dans un module les fonctions traitant des problèmes de même nature ou manipulant le même type d’objet 3- Pour charger les fonctions d’un module dans un autre module / programme principal, on utilise la commande source(nom du fichier module.r) 4- Les fonctions importées sont chargées en mémoire. Si collision de noms, les plus récentes écrasent les anciennes
  • 21. Analyse des données sous R 21 Pr. F. Guerouate Programmation Modulaire sous R: fonctions Les fonctions sous R: Bloc d’expressions, forcément nommée Visible comme un objet en mémoire [avec ls()] Peut être supprimée avec rm(), comme tout autre objet Prend des paramètres en entrée (non typés) Renvoie une valeur en sortie (même si on n’écrit pas spécifiquement d’instruction pour cela Pour une fonction on peut avoir des paramètres par défaut
  • 22. Analyse des données sous R 22 Pr. F. Guerouate Programmation Modulaire sous R: les fonctions Appel des fonctions : Passage de paramètre par position: print(egal(4,4)) Passage de paramètre par nom: print(egal(a=3,b=9)) print(egal(b=0,a=7)) Pour une fonction on peut avoir des paramètres par défaut Valeur par défaut 10 est utilisé Valeur 2 remplace 10
  • 23. Analyse des données sous R 23 Pr. F. Guerouate Programmation Modulaire sous R: les fonctions Portés des variables : Les variables définies localement dans les fonctions sont uniquement visibles dans ces fonctions. Elles sont absentes de la mémoire de R après l’exécution de la fonction. Variable local Les variables globales sont définies en dehors de la fonction. Il n’est pas nécessaire que la variable globale soit disponible lors de l’implémentation de la fonction, il faut en revanche qu’elle soit disponible lors de l’exécution de la fonction Variable global
  • 24. Analyse des données sous R 24 Pr. F. Guerouate Programmation Modulaire sous R: les fonctions Imbrications des fonctions: les fonctions locales et globales Fonction locale Fonction globale
  • 25. Analyse des données sous R 25 Pr. F. Guerouate Programmation Modulaire sous R: les fonctions Fonctions renvoyant plusieurs paramètres Pour qu’une fonction renvoi plusieurs valeurs on est obligé de contourner le problème en mettant à contribution une structure de liste d’objets. Les objets peuvent être de classe différente, au final l’outil est très souple.
  • 26. Analyse des données sous R 26 Pr. F. Guerouate Programmation Modulaire sous R: les fonctions Passage d’une fonction en paramètre Tout objet peut être paramètre d’une fonction, y compris une autre fonction. On parle alors de «fonction callback» (fonction de rappel en français).
  • 27. • https://cran.r-project.org/doc/contrib/Goulet_introduction_programmation_R.pdf • http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_R.html • https://delladata.fr/installer-logiciel-r-environnement-r-studio/ • https://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/st-tutor4-R-prog.pdf Analyse des données sous R 27 Pr. F. Guerouate Références