You are on page 1of 69

Programmation

Python & R
ENSA de Kenitra

Pr. Aniss MOUMEN (ENSA – Kenitra)


amoumen@gmail.com
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
…..

You might also like