Programmation
Python & R
ENSA de Kenitra
Pr. Aniss MOUMEN (ENSA – Kenitra)
[email protected] 06.65.36.63.70
Facebook - Linkedin - Researchgate
LA PROGRAMMATION R– PARTIE 1
1 – Concepts de base
2- Manipulation des données
3-Graphiques
4-Script R
5-Packages
CONCEPT DE BASE
VARIABLES, OBJETS & DONNEES
Les variables permettent de mémoriser les données lors de l’exécution, c’est un
emplacement mémoire. En R, tout les variables sont considérées des objets, la
déclaration de la variable se fait dynamiquement, c’est-à-dire il y a pas besoin de
déclarer la variable en précisant son type, avant de l’utiliser.
Le nom d’une variable ou un objet en R est une suite non vide de caractères,
formée d’un caractère de début (n’importe quelle lettre), puis zéro ou plusieurs
caractères de continuation (lettre, caractère souligné ou chiffre)
Attention : R est sensible à la casse.
L’opérateur d’assignation en R est soit : « = » ou « <- » .
CONCEPTS DE BASE
VARIABLES, OBJETS & DONNEES
LES TYPES DES OBJETS EN R (ou MODES DES OBJETS) :
I. TYPE DE BASE
Numérique: soit des entiers, décimale/double (à virgule flottante, la virgule est ‘.’) ou
complexe. Par défaut les variables numériques sont de type « double ».
Complexe : un nombre complexe est crée avec « i »
Boolean : vrais (TRUE) ou faux (FALSE)
Chaine de caractère: un texte ou nombre entre simple ou double côte.
Donnée manquante : il est identifié par l’instruction NA (NA = non available)
Brute : il est possible de stocker les données dans un format brute traduit en
hexadécimale
Facteur (factor) : pour les variables qualitatives (de type chaine de caractère, elle peut
soit Nominale ou Ordinale)
II. STRUCTURE DE DONNEE :
c’est une collection de donnée de même type ou pas .
qui peut être un Vecteur ou Liste ou tableau ou
matrice ou data.frame
CONCEPTS DE BASE
EXEMPLE
Le ‘.’ c’est la virgule pour un nombre décimale
La fonction typeof() permet de connaitre le type de l’objet
La fonction as.integer(), as.double(), as.complex(), as.character()… pour la conversion
du type
La fonction plot() permet de créer un graphique
Les fonctions Re(x) et Im(x) : pour extraire la partie réel et imaginaire d’un complexe
Les fonctions Arg(x) et le Mod(x) : pour calculer l’argument et le mode d’un complexe
La fonction length(x) permet de calculer le nombre d’élément dans un objet.
CONCEPTS DE BASE
EXEMPLE LES OPÉRATEURS ARITHMÉTIQUES & LOGIQUE SOUS R :
La fonction is.numeric(),
is.logical(), is.character(), is list()…
permet de vérifier le type de
l’objet.
is.null(), permet de vérifier sur
l’objet est NULL (vide).
CONCEPTS DE BASE
DONNEE MANQUANTE
Une donnée manquante ou non définie est indiquée par l'instruction NA (pour non
available = non disponible).
(*) R considère ce type de données comme étant une valeur logique constante.
EXEMPLE
La fonction c(…), permet d’initialiser un vecteur.
La fonction mean(), permet de calculer la moyenne.
La fonction is.na(x) permet de vérifier si il y a des valeurs manquantes.
Ne pas confondre NA avec NaN (not a number)
CONCEPTS DE BASE
DONNEE BRUTE (raw)
R offre la possibilité de travailler directement avec des octets (affichés sous forme
hexadécimale), c’est intéressant lors du travail sur les fichiers binaires.
EXEMPLE
La fonction as.raw() convertie les données en données brutes
La fonction mode() permet d’identifier le type de la donnée, comme typeof() ou
classe()
CONCEPTS DE BASE
CHAINE DE CARACTERE
Toute information mise entre guillemets (simple ' ou double ") correspond à une chaîne de
caractères.
EXEMPLE CONVERSION
La conversion des types entre chaines de caractère et
d’autres types, est possible grace aux fonctions as.numeric,
as.character…
EXEMPLE
CONCEPTS DE BASE
STRUCTURE DE DONNEE
Les structures de donnée sont des collections des données de même type ou pas. En R,
nous avons : Vecteur, les tableaux et matrices, les facteurs, les listes, les Data.frame.
Vecteur Tableaux & Matrices Listes
Permet de représente une Généralisation de la notion Les listes permettent de
suite de données de même de vecteur, c’est des suites regrouper dans une même
type. à double indice pour les structure des données de
La fonction permettant matrices et à multiples types différents, chaque
des vecteurs est : la indices pour les tableaux élément d'une liste peut
fonction c() (pour (array), de même type. ainsi être un vecteur, une
collection) . La fonction matrix() matrice, un array ou même
permet de créer une une liste.
matrice, et la fonction La fonction list() permet de
Facteurs array() pour les tableaux. créer une liste.
Les chaînes de caractères sont des variables catégorielles, qui peuvent être définit avec la
fonction factor(), pour permettre d’extraire les différents niveaux avec la fonction levels(). Pour
les chaines qui suivent un certain ordre conventionnel,on les définit avec ordered().
CONCEPTS DE BASE
EXEMPLE
VECTEUR
CONCEPTS DE BASE
EXEMPLE
Matrices et Tableaux
CONCEPTS DE BASE
EXEMPLE
Liste
CONCEPTS DE BASE
EXEMPLE
Facteur
CONCEPTS DE BASE
TABLEAU DES INDIVIDUS X VARIABLES
Appelé DATA FRAME, c'est une matrice dont les lignes correspondent aux individus et les
colonnes aux variables (ou caractères). Chaque colonne représente une variable dont tous
les éléments sont du même type. Les colonnes de la matrice-données peuvent être
nommées.
EXEMPLE
CONCEPTS DE BASE
TYPES DES DONNEES
CONCEPTS DE BASE
TP
LA PROGRAMMATION R– PARTIE 1
1 – Concepts de base
2- Manipulation des données
3-Graphiques
4-Script R
5-Packages
MANIPULATION DES DONNÉES
MANIPULATION DES DE DONNEES
La manipulation des données ou objets sous R, se fait grâce à une série de fonction qui
permettent d’effectuer les opérations ci-dessous sur un ou plusieurs objets (données) :
Création des objets
Suppression des objets
Affichage
Suppression des éléments d’objet
Extraction
Concaténation
Trie
Obtenir des informations sur la structure des données et typologie des objets
Nommer les colonnes
Les calculs arithmétique, calculs matriciels
Saisie des données
Import/Export
….
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
GENERALITE
La fonction pour supprimer un objet (quelque soit) : rm() ou remove ()
Les fonctions qui permettent de connaitre la structure d’un objet : names(), dim(),
length()
Les fonctions qui permettent de vérifier le type de l’objet : is.numeric(), is.logical(),
is.character(), is list(), is.data.frame(), is.null(), is.na(), is.factor(), is.Date(), is.array()…. …
Les fonctions qui permettent de convertir les types des objets : as.numeric(),
as.logical(), as.character(), as.list(), as.data.frame(), as.factor(), as.Date(), as.array(),
as.null(), as.na(), ….
Les fonctions qui affiches les premiers elements ou les derniers : head(), tail()
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
EXEMPLE
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
VECTEUR/LISTE
Création d’un vecteur se fait
par les fonctions : c(), seq() ou
rep(). Ou bien avec l’opérateur
« : ».
Concaténation de deux
vecteurs a et b pour créer un
nouveau vecteur , par la
fonction c(a,b)
L’extraction des éléments
par les indices : a[2] ou
a[c(1,3)]
La suppression des
éléments par le signe - : a[-2]
ou a[-c(1,3)]
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
VECTEUR/LISTE
La fonction qui permet de nommer les
colonnes names(), et on peut initialiser
les noms des colonnes lors de la création
du vecteur/liste..
Pour trier un vecteur dans un ordre
croissant ou décroissant : sort(), order()
et rev()
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
MATRICE
Pour créer une matirce, on utilise la
fonction matrix()
Pour afficher les éléments d’une matrice,
on utilise les indices i et j de la matrice
Pour afficher les dimensions d’une
matrice : nrow(), ncol() et dim()
Pour ajouter une ligne ou une colonne à
une matrice, on utilise : rbind() ou cbind()
le produit de deux matrices est effectué
par « %*% », pour les matrices de
différents tailles, et « * » pour les matrices
de même taille.
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
CALCUL MATRICIEL
le transposer d’une matrice : t()
Le déterminant d’une matrice : det()
L’inverse d’une matrice : solve()
La diagonalisation d’une matrice : eigen()
La fonction apply() permet d’effectuer des
opérations statistiques sur les objets
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
DATA FRAME
La fonction qui permet de créer un data frame : date.frame()
La fonction cbind() permet de fusionner les colonnes d’un data frame, et rbind() permet de
fusionner les lignes.
La fonction merge() permet de fusionner les données d’un data frame.
EXEMPLE
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
EXEMPLE
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
DATA FRAME
La fonction aggregate() permet de découper un data.frame en sous populations suivant un
facteur (spécifié par le paramètre by) et d'appliquer une fonction donnée sur chacune de ces
sous-populations.
La fonction transform() permet d'opérer des transformations sur les colonnes d'un data
frame.
EXEMPLE
MANIPULATION DES DONNÉES
MANIPULATION DES STRUCTURES DE DONNEES
DATA FRAME
La fonction split()/split.data.frame() permet d’extraire des sous groupe à partir du
data.frame/vecteur, en fonction d’une variable catégorielle (factor).
EXEMPLE
MANIPULATION DES DONNÉES
OPERATIONS LOGIQUES ET RELATIONNELLES
OPERATIONS ENSEMBLISTE
MANIPULATION DES DONNÉES
MANIPULATION DES CHAINES DE CARACTERES
La création d’une chaine de caractère se fait par les simples ou doubles quotes « ‘ »
La fonction nchar() permet de calculer le nombre des caractères dans un objet chaines
de caractères
Les fonctions letters() et LETTERS() renvoie les caractères de l’alphabet
La fonction paste() permet la concaténation des chaines
La fonction substring(), substr() permet d’extraire des sous-chaines d’une chaine
La fonction strsplit() permet de découper une chaine
La fonction grep() permet de rechercher un motif dans une chaine
La fonction gsub() permet de remplacer un motif dans une chaine
La fonction sub() permet de remplacer la première occurrence d’un motif dans une
chaine
Les fonctions tolower() & toupper() pour transformer les majuscules et minuscules.
MANIPULATION DES DONNÉES
EXEMPLE
MANIPULATION DES DONNÉES
MANIPULATION DES DATES
Les fonctions Sys.Date() et date() permet de récupérer la date du jour.
Les fonctions qui permet de manipuler les dates : strptime(), qui renvoie un objet
contenant une date selon le format
MANIPULATION DES DONNÉES
SAISIE DES DONNEES
Pour saisir les données on peut utiliser la fonction scan()
Après la saisie pour valider, il suffit de taper sur le bouton « entree ».
EXEMPLE
MANIPULATION DES DONNÉES
SAISIE DES DONNEES
On peut aussi utiliser la fonction « data.entry() », qui permet de saisir les données sur un
tableur
EXEMPLE
MANIPULATION DES DONNÉES
IMPORTATION DES DONNEES DEPUIS DES FICHIERS
Sous R, on peut importer nos données depuis plusieurs format de fichier : texte, excel, SPSS,
SAS, dBase, SQL, Access, MYSQL, Postgre SQL, MongoDB, Spark….
Pour lire à partir d’un fichier texte (txt ou csv) , on utilise les fonctions :
read.table(), pour les fichiers textes contenant des statistiques
read.csv(), pour les fichiers csv, les données séparées par des virgules et le séparateur des
chiffres décimale est le « . »
read.csv2(), pour les fichiers csv, les données séparées par des points-virgules et le
séparateur décimale est « , »
read.delim() ou read.delim2() pour lire les fichiers textes, dont les données sont séparées
par des tabulations.
read.ftable() pour lire des fichiers textes contenant des tableaux croisées (contingences)
Pour se placer au chemin : setwd(chemin) ou on peut utiliser file.choose() pour choisir le
fichier.
MANIPULATION DES DONNÉES
IMPORTATION DES DONNEES DEPUIS DES FICHIERS
FICHIER CONTENANT UN TABLEAU DE CONTINGENCE
MANIPULATION DES DONNÉES
IMPORTATION DES DONNEES DEPUIS DES FICHIERS
Pour lire à partir d’un fichier excel (.xls) , on utilise des packages spécifiques exemple : «
gdata » avec la fonction « read.xls() ».
R permet d’importer des données depuis d’autres sources : SPSS, Minitab, SAS ou
MATLAB
MANIPULATION DES DONNÉES
IMPORTATION DES DONNEES DEPUIS DES FICHIERS
L’IDE RStudio permet d’importer des Dataset via un interface graphique de l’explorateur
Workspace, mais au préalable et pour une première utilisation, il faut disposer de la
connexion internet pour qu’un certain nombre de package soit installé par Rstudio
LES OPTIONS D’IMPORTATION EXCEL : « Name » le nom de l’objet qui stockera les
données, les feuilles et colonnes à considérer pour l’importation du fichier Excel, les noms
des variables sont sur la première ligne du fichier, « Skip » ignorer des lignes, « NA »
l’indicateur des valeurs manquants.
MANIPULATION DES DONNÉES
EXPORTATION DES DONNEES
La fonction qui permet l’exportation des données vers un fichier texte : write.table(),
write.csv(), write.csv2().
La même fonction permet d’exportation les données vers un fichier excel ou un tableur,
en copiant le contenu dans un « clipboard », puis en le collant dans un fichier excel avec
un CTRL+V ou la commande coller du menu édition du fichier cible.
Grace au package « writexl », La fonction write_xlsx() permet d’exporter les données
vers un fichier Excel.
EXEMPLE
LA PROGRAMMATION R– PARTIE 1
1 – Concepts de base
2- Manipulation des données
3-Graphiques
4-Script R
5-Packages
GRAPHIQUES
FONCTION DE BASE : plot() & points()
La fonction plot() est la fonction générique pour tracer des graphiques. Elle prend
comme paramètre d'entrée les coordonnées des points à tracer.
La fonction points() permet en plus de générer les graphiques comme la fonction plot(),
il permet de superposer les graphiques.
EXEMPLE
GRAPHIQUES
FONCTIONS : segment(), lines(), abline(), arrows(), box() et colors()
Les fonctions segments() et lines() permettent de joindre des points par des segments de
ligne qui sont ajoutés à un graphique préexistant.
La fonction abline() permet soit de tracer une droite d'équation y = a + bx (spécifiée par les
paramètres a et b), soit de tracer une ligne horizontale (paramètre h) ou verticale (paramètre v).
La fonction arrows() permet de tracer des flèches reliant des paires de points. Elle comprend
un paramètre length permettant d'indiquer la taille de la pointe de la flèche.
La fonction box() permet d'ajouter une boîte autour du graphique courant.
Le paramètre « col » de la fonction plot() permet de changer les couleurs, R dispose de plus
de 650 couleurs qu’on peut consulter par la fonction colors()
EXEMPLE
GRAPHIQUES
EXEMPLE
GRAPHIQUES
FONCTION : text()
La fonction text () permet d'ajouter du texte sur un graphique. Elle permet aussi, d'y ajouter
des formules mathématiques. Il faut donner les coordonnées en x et en y du centre de la chaîne
de caractères à afficher.
La fonction expression () permet d’écrire une expression mathématique.
La fonction mtext () permet d'ajouter du texte dans les marges de la fenêtre graphique
EXEMPLE
GRAPHIQUES
FONCTION : legend()
La fonction legend () est utilisée pour ajouter une légende à un graphique existant.
EXEMPLE
GRAPHIQUES
FONCTION : par()
La fonction par() est une fonction qui possède de très nombreux paramètres vous permettant
d’améliorer les graphiques.
- par("nom-paramètre") renvoie la valeur par défaut du paramètre nomparamètre
- par("nom-paramètre"=val) permet d'attribuer au paramètre nomparamètre la valeur val
- par() renvoie la liste de tous les paramètres graphiques en cours ainsi que leur valeur.
EXEMPLE
# Sauvegarde des valeurs par défaut.
sauve.par <- par(no.readonly = TRUE)
# Ensuite, on peut changer certains paramètres graphiques.
par (bg=" red" )
# Puis restaurer les anciennes valeurs .
par (sauve . par)
GRAPHIQUES
EXEMPLE
GRAPHIQUES
PACKAGES POUR LES GRAPHIQUES SOUS R
En plus des fonctions de base, R dispose des packages pour la génération et manipulation
des graphiques :
ggplot2, améliore l’esthétique des graphiques, produit des graphiques multivariées, et
introduit de nouvelles fonctionnalités en simplifiant l’utilisation
plotly, permet de manipuler des graphiques interactives aux actions des utilisateurs
maps et mapdata, permet de manipuler des cartes géographiques
rgl, permet de générer des graphiques 3D
lattice, permet de produire des graphiques conditionnels à la valeur d’un ou de
plusieurs facteurs (graphiques multivariées)
GRAPHIQUES
PACKAGES POUR LES GRAPHIQUES SOUS R
GRAPHIQUES
PACKAGES POUR LES GRAPHIQUES SOUS R
GRAPHIQUES
PACKAGES POUR LES GRAPHIQUES SOUS R
Sauvegarder le graphique
avec la fonction ggsave()
GRAPHIQUES
PACKAGES POUR LES GRAPHIQUES SOUS R
Il faut installer le package « gridExtra »
GRAPHIQUES
PACKAGES POUR LES GRAPHIQUES SOUS R
Il faut installer le package « dplyr»
EXERCICES
TP
LA PROGRAMMATION R– PARTIE 1
1 – Concepts de base
2- Manipulation des données
3-Graphiques
4-Script R
5-Packages
SCRIPT R
DEFINITION
Sous RStudio, nous avons deux manières pour éditer les
commandes :
Mode console pour les commandes en interactive
Mode scripting pour éditer des programmes en R
Le mode script permet de développer des programmes en R, pour
un usage ultérieur ou pour répondre à une problématique
d’automatisation du traitement et d’analyse des données très
fréquent.
Le développement des scripts en R est une étape pour la création
des modules et packages en R.
SCRIPT R
STRUCTURE DE CONTRÔLE - CONDITION
Les instructions de condition sont : switch() et if else
Syntaxe de SWITCH et IF-ELSE:
SWITCH
IF-ELSE
EXEMPLE
SCRIPT R
STRUCTURE DE CONTRÔLE - BOUCLE
En R, on dispose des boucles : FOR, WHILE et REPEAT
On peut aussi utiliser les instruction next (suivant), break (interrompre)
SYNTAXE
EXEMPLE
SCRIPT R
FONCTION
La déclaration d'une fonction se fait selon la forme générale
suivante:
Déclaration function(<liste de paramètres>)
<corps de fonction>
- <liste de paramètres> est une suite de paramètres (formels)
nommés;
-<corps de fonction> représente, comme son nom l'indique, le
Définition contenu du code qui sera exécuté à chaque appel de la fonction, les
objets utilisés dans le corps de la fonction ont une porté local.
-Pour appeler la fonction il faut l’affecter à un objet R.
EXEMPLE
Appel
SCRIPT R
EXEMPLE
Pour charger le code source dans l’environnement de travail (soit en
cliquant sur l’option « Source on save » ou avec la fonction source())
L’appel à la fonction peut se faire via la console
SCRIPT R
FONCTION
Pour déclarer une fonction avec des paramètres par défaut, il suffit
de les nommer au niveau de l’entête de la fonction et affecter une
valeur par défaut. Lors de l’appel, si les paramètres sont initialisé, il
Déclaration vont être utiliser, sinon les valeurs par défaut vont être affecter.
EXEMPLE
Définition
Appel
SCRIPT R
FONCTION
Pour définir une valeur de retour de la fonction, on utilise la
fonction return(). puis lors de l’appel affecter la fonction dans un
Déclaration objet.
EXEMPLE
Définition
Appel
EXERCICES
TP
LA PROGRAMMATION R– PARTIE 1
1 – Concepts de base
2- Manipulation des données
3-Graphiques
4-Script R
5-Packages
PACKAGE R
PACKAGE
Un package est un ensemble de données et de fonctions regroupées autour d'un même
thème.
Pour installer un package on utilise la fonction : install.packages() , puis il faut le charger par
la fonction library() ou require()
R dispose d’un nombre important de package plus de 15000 packages qui couvrent plusieurs
domaines et fonctionnalités
Le lien des packages officiels : https://cran.r-project.org/web/packages/
PACKAGE R
Package
Pour consulter les Datasets disponible pour R, la fonction datasets-package() permet de
consulter la liste des dataset disponible sur la machine
L’URL officielle des Datasets :
http://search.r-project.org/R/library/datasets/html/00Index.html
PACKAGE R
Liste des Packages utiles
RMySQL, RPostgresSQL, RSQLite : pour lire depuis les bases de données MySQL,
PostgresSQL, SQLite.
dyplr : pour la manipulation des données
Stringr : pour le traitement des chaines de caractères
GoogleVis : pour la visualisation des graphiques de google
R Markdown, Shiny : pour reporting sur un support Web
Maps, ggmap, maptools, sp : pour la manipulation des cartes géographiques
xts : pour les séries temporelles
XML, jsonlite : pour le traitement des fichiers XML et json
devtools : pour la création de nouveau package
…..