Langage R : Cours,
Exemples &
Exercices
M. El Hamly, Ing., Ph.D.
Version 2020
Plan du cours : ‘Langage R’
• Installation de R
• Installation de R-Studio
• Langage R
• Dataframes sous R
Dr. M. El Hamly : Langage R 2
Installation de R, R-Studio
Dr. M. El Hamly : Langage R 3
 Installation de R :
• http://www.r-project.org
• Après téléchargement, vous aurez un fichier de nom
analogue à R-3.4.4-win
• Si vous avez déjà une version antérieure à la courante, il
vaut mieux la désinstaller en 1er lieu et ensuite installer
la version courante.
 Installation de R-Studio (optionnel) :
• https://www.rstudio.com/products/rstudio/download/
• Après téléchargement, vous aurez un fichier de nom
analogue à RStudio-1.1.442
R Studio: Creating a new project
• R Studio : Un environnement de développement
• File
• New Project
• Existing Directory
• Browse
• Create Project
• File
• New Project
• New Directory
• Empty Project
Dr. M. El Hamly : Langage R 4
R Studio: Setting a default working directory
 When not in a project
• Tools
• Global Options
• Etc.
Dr. M. El Hamly : Langage R 5
R Studio: Changing the working directory
• Session
• Set Working Directory
• Choose Directory
Dr. M. El Hamly : Langage R 6
Dr. M. El Hamly : Langage R 7
Historique
Dr. M. El Hamly : Langage R 8
• Dans le milieu des années 1970, une équipe de chercheurs
de AT&T Bell Laboratories, composée de John Chambers,
Douglas Bates, Rick Becker, Bill Cleveland, Trevor Hastie,
Daryl Pregibon et Allan Wilks, développe un langage de
programmation appelé S (la lettre S faisant référence à
Statistics). Il s’agit d’un langage permettant de manipuler les
données et d’effectuer des analyses statistiques et
graphiques. Ce langage S est devenu S+. Dans le milieu des
années 1990, Ross Ihaka et Robert Gentleman créent le R au
département de Statistiques de l’Université d’Auckland. Ce
langage et logiciel, inspiré du S et de Scheme est distribué
sous les termes de la GNU General Public Licence. La R
Development Core Team se charge de distribuer et de
développer le logiciel R. De nombreux contributeurs à travers
le monde participent au développement de R.
Langage R : Installation
Dr. M. El Hamly : Langage R 9
• Le logiciel R est un freeware disponible sur le site
http://www.r-project.org
• Il existe des versions
– Windows
– MacOS X
– Linux
• Outils disponibles :
– un langage de programmation orienté objet
– des fonctions de "base"
– des librairies/packages complémentaires (des centaines sur
le site CRAN)
R : au démarrage
• Le symbole > apparaît automatiquement en début de chaque
ligne de commandes.
• Le symbole + apparaît en début de ligne si la ligne précédente
est incomplète.
Dr. M. El Hamly : Langage R 10
Utiliser l’aide : fonction help()
Dr. M. El Hamly : Langage R 11
• On utilise la fonction help
• help(plot) ou help("plot") ou help(’plot’)
• Ou bien :
• ?plot
• starting httpd help server ... Done
• L’argument de help est un nom de fonction de R.
• La commande help() avec pour argument le nom de la
fonction sur laquelle on désire une aide, génère une
rubrique d’aide avec l’information désirée.
Utiliser l’aide : fonction help.search()
Dr. M. El Hamly : Langage R 12
• Quand on ignore le nom exact d’une fonction mais que
l’on pense le connaître en partie, on pourra chercher son
nom en utilisant la fonction help.search() ou un double
point d’interrogation ??
• help.search("plot")
• L’argument de help.search est un mot clé.
• Autre exemple :
• help.search("correlation")
• Ou bien :
• ??correlation
Utiliser l’aide : fonction apropos()
Dr. M. El Hamly : Langage R 13
• Pour trouver toutes les fonctions dont le nom contient
une chaîne de caractères donnée, on peut utiliser la
fonction apropos() :
"as.logical"
• apropos("log")
• "as.data.frame.logical"
"as.logical.factor" "dlogis" "is.logical"
"log1p"
"Logic"
"loglin"
"rlogis"
"log"
"log2"
"logical"
"plogis"
"SSlogis"
"log10"
"logb"
"logLik"
"qlogis"
"winDialog"
"winDialogString"
Utiliser l’aide: fonction demo()
Dr. M. El Hamly : Langage R 14
• Pour obtenir la liste des démos :
• demo()
• demo(graphics)
• Les exemples :
• La fonction example exécute les exemples
généralement inclus à la fin des fichiers d’aide
• Syntaxe : example(FUN)
• example(cor)
Utiliser l’aide: fonction help.start()
• On ouvre l’aide en ligne de toutes les fonctions installées
par help.start().
• help.start()
Dr. M. El Hamly : Langage R 15
R : quelques notes
Dr. M. El Hamly : Langage R 16
• #  Dans une ligne de commande, tout ce qui suit # est
ignoré, ce qui est utile pour les commentaires.
• Exemple :
• x = 1 # C’est une affectation.
• Ajouter un point virgule (;) en fin d’une commande et
poursuivre une autre commande sur la même ligne équivaut à
exécuter les deux commandes ligne par ligne.
• Exemple :
• a = 1 ; b = 2
• Si votre commande est trop longue pour la taille de la fenêtre
ou si elle est incomplète un signe + indique la continuité de
l’invite.
• > y = a*
• + b
R : quelques notes
Dr. M. El Hamly : Langage R 17
• Souvent des commandes doivent être répétées, ou
légèrement modifiées. On peut naviguer dans les
commandes précédentes avec les touches  et
.
• Une fois rappelée une commande, elle peut être
modifiée en se déplaçant dans la ligne :  ou
.
• Toutes les variables (scalaires, vecteurs, matrices, etc.)
créées dans R sont appelées des objets.
• Dans R, on affecte des valeurs aux variables en utilisant
une flèche <- : taper les signes « inférieur » et « moins ».
• On peut également utiliser le signe =
• Par exemple on affectera le résultat du calcul 2×3 à la
variable x en utilisant la commande
R : quelques notes
Dr. M. El Hamly : Langage R 18
• Pour examiner le contenu d’un objet quelconque de R il
suffit de taper son nom.
• Ainsi par exemple pour voir le contenu de x on tapera x
et on observera après avoir validé la commande avec un
retour chariot :
• x
• [1] 6
• Pour quitter R :
• q()
Éditeur & Exécution de R
Dr. M. El Hamly : Langage R 19
• On peut utiliser n’importe quel éditeur de texte, e.g., Bloc-
notes.
• On peut également utiliser l’éditeur de R-Studio.
• Sinon, on peut utiliser l’éditeur intégré de R.
 Exécution de R :
• Syntaxe : source("nom-du-fichier.R") pour exécuter le code
contenu dans le fichier nom-du-fichier.R
• Exemple :
• source("read1.R")
• Q: Que donne l’instruction suivante ?
• source("read1")
Librairies
Dr. M. El Hamly : Langage R 20
• Toutes les librairies ne sont pas chargées
automatiquement au lancement du logiciel R.
• library() retourne la liste des librairies
installées.
• library(LIB) charge la librairie LIB
• Exemple : library(stats)
• library(help = LIB) retourne la liste des
fonctions de la
librairie LIB.
• Exemple : library(help = stats)
• search(), searchpaths() retourne la liste des librairies
chargées.
Objets
Dr. M. El Hamly : Langage R 21
• Il existe différents types d’objets dans R, comprenant entre
autres
 des scalaires,
 des matrices,
 des tableaux,
 des « data frame » (tableaux, similaires à des matrices, mais
dans lesquels les colonnes ne sont pas nécessairement de
même type),
 des tables
 et des listes.
• Dans R, la structure élémentaire d’objet est le vecteur.
• Dans ce cours, on utilisera surtout les objets suivants :
• vecteurs, matrices, data.frames, listes.
Noms de variables
Dr. M. El Hamly : Langage R 22
• Quelques exemples de noms valides et invalides :
• foo = 5
• foo.123 = 5
• foo_123 = 5
• 123foo = 5
• .foo = 5
• .123foo = 5
# valide
#
valide
# valide
# invalide ; commence par un chiffre
# valide
# invalide ; point suivi d’un chiffre
Opérations élémentaires
Dr. M. El Hamly : Langage R 23
• Opérations élémentaires sur les scalaires :
• +, −, *, /, ˆ
• 2 + 4
• 6
• Opérations avec affectation (sans affichage) :
• x = 2 + 4
• x
• 6
• Affectation avec affichage du résultat :
• (x = 2 + 4)
• 6
Opérations élémentaires
Dr. M. El Hamly : Langage R 24
• Les opérations numériques s’effectuent en suivant les
ordres de priorité classiques (puissance avant
multiplication, et multiplication avant addition).
• Pour éviter les doutes il est toujours prudent de mettre
des parenthèses.
• Division entière :
• 7 %/% 2
• 3
• modulo :
• 7 %% 2
• 1
Principaux types
Dr. M. El Hamly : Langage R 25
• Les principaux types sont
• réel
• complexe
• caractère
• logique : TRUE, FALSE
• NA (not available)
• Fonction typeof()
• x = 1.2
• typeof(x)
• "double"
Valeurs particulières
Dr. M. El Hamly : Langage R 26
• NA (not available)  valeur manquante
• 1/0
• Inf
• -1/0
• -Inf
• 0/0
• NaN  Not a Number
• Note : Certains noms sont utilisés par le système R,
aussi vaut-il mieux éviter de les utiliser. En particulier,
éviter d’utiliser c, q, t, C, D, I, diff, length, mean, pi,
range, var
Variable : pi
Dr. M. El Hamly : Langage R 27
• Variables prédéfinies :
• pi
• 3.141593
• print(pi, digits=10)
• 3.141592654
• print(pi, digits=20)
• 3.1415926535897931
• sin(pi) # Théoriquement, sin(pi) = 0
• 1.224606e-16 (N.B. C’est bien 1.224606 10-
16)
• cos(pi)
• -1
Objets
Dr. M. El Hamly : Langage R 28
• Les objets de base sont
• vecteurs, matrices, data.frames, listes
• Quelques fonctions génériques :
• ls() retourne la liste des objets de la session.
• rm(a) supprime l’objet a.
• Q. Que fait la fonction list.files() ?
• Menu : Misc  Effacer tous les objets :
• rm(list=ls(all=TRUE))
• N.B. Cette commande est très importante pour valider
un nouveau programme.
Qu’en est-il de la casse ?
Dr. M. El Hamly : Langage R 29
• Attention !
• R différencie entre les lettres minuscules et les lettres
majuscules.
• i.e., R est sensible à la casse.
• Exécuter ce qui suit :
• x = 5
• 2*x
• 2*X
Les objets R
Dr. M. El Hamly : Langage R 30
• Tout dans le langage R est un objet : les variables contenant
des données, les fonctions, les opérateurs, même le symbole
représentant le nom d’un objet est lui-même un objet.
• Les objets possèdent au minimum un mode et une longueur
et certains peuvent être dotés d’un ou plusieurs attributs.
• Le mode d’un objet est obtenu avec la fonction mode :
• x = c(1, 2, 5, 9)
• mode(x)
• "numeric"
• La longueur d’un objet est obtenue avec la fonction length :
• length(x)
• 4
Attributs
Dr. M. El Hamly : Langage R 31
• Les attributs d’un objet sont des éléments d’information
additionnels liés à cet objet.
• Liste des attributs les plus fréquemment rencontrés :
• Attribut
• class
• dim
• dimnames
• names
Utilisation
affecte le comportement d’un objet
dimensions des matrices et tableaux
étiquettes des dimensions des
matrices et tableaux
étiquettes des éléments d’un objet
• Exemple : x = sample(1:100, 10)
• class(x)  "integer"
• mode(x)  "numeric"
Attributs
Dr. M. El Hamly : Langage R 32
• Plus généralement, la fonction attributes() permet
d’extraire ou de modifier la liste des attributs d’un objet.
• On peut aussi travailler sur un seul attribut à la fois avec
la fonction attr().
• Les objets peuvent être dotés d’un ou plusieurs
attributs.
• Jeu de données intégré :
• data(cars)
• Liste de tous les attributs :
• attributes(cars)
• Extraction d’un seul attribut :
• attr(cars, "class")
• attributes(x) = NULL  supprimer les attributs de x
Fonctions is/as
Dr. M. El Hamly : Langage R 33
• is.xxx(obj) teste si obj est un objet de type xxx
• as.xxx(obj) contraint si possible obj au type d’objet xxx
où xxx représente un type d’objet (numeric, complex,
vector, matrix, character, etc.)
• x = 3
• is.numeric(x)
• TRUE
• is.complex(x)
• FALSE
• is.character(x)
• FALSE
Fonctions is/as
Dr. M. El Hamly : Langage R 34
• x
• 3
• as.complex(x)
• 3+0i
• as.character(x)
• "3"
• Conversion de TRUE / FALSE en valeur numérique :
• as.integer(T) ou bien as.integer(TRUE)
• 1
• as.integer(F) ou bien as.integer(FALSE)
• 0
Fonctions is/as
Dr. M. El Hamly : Langage R 35
• Exemple
• as.numeric(2+3i)
• 2
• Warning message:
• Les parties imaginaires sont perdues lors de la
conversion automatique.
• Q: Quelle est la différence entre une erreur et un
warning ?
T, F
Dr. M. El Hamly : Langage R 36
• Le ET logique est vrai seulement lorsque les deux
expressions sont vraies :
• c(TRUE, TRUE, FALSE) & c(TRUE, FALSE,
FALSE)
• Le OU logique est faux seulement lorsque les deux
expressions sont fausses :
• c(TRUE, TRUE, FALSE) | c(TRUE, FALSE,
FALSE)
• La négation logique transforme les vrais en faux et vice
versa :
• ! c(TRUE, FALSE)
T/F
Dr. M. El Hamly : Langage R 37
• Q : Expliquer ce qui suit :
• T + 2
• F + 5
• Conclusion :
• En météo, par exemple, pour le paramètre température,
il vaut mieux choisir une variable de nom temp ou
Temp ou carrément température, etc.
• Éviter donc la variable T.
• Éviter également la variable F.
• Exemple :
• température = 15.4
Vecteurs : mélange d’objets
Dr. M. El Hamly : Langage R 38
• Si l’on mélange dans un même vecteur des objets de
mode différents, il y a conversion automatique vers le
mode pour lequel il y a le moins de perte d’information,
c’est-à-dire vers le mode qui permet le mieux de
retrouver la valeur originale des éléments.
# conversion en mode ’character’
# conversion en mode
’character’
• c(5, TRUE, FALSE) # conversion en mode ’numeric’
• c(5, "A")
• c(TRUE, "A")
• c(5, TRUE, "A" ) # conversion en mode ’character’
Fonction : mode()
Dr. M. El Hamly : Langage R 39
• mode(3)
• "numeric"
• mode(3+2i)
• "complex"
• mode("ABcd")
• "character"
• mode(seq) # une fonction
• mode(list(5, "foo", TRUE)) # une liste
• mode(expression(x <- 5)) # une expression
non évaluée
Fonction paste()
Dr. M. El Hamly : Langage R 40
• paste("AB", "ab")
• "AB ab"
• paste("AB", "ab", sep="/")
• "AB/ab"
• paste("AB", "ab", sep="")
• "ABab"
• HR = 80
• print(paste("- Humidité relative = ", HR, "%", sep=""),
q=F)
• - Humidité relative = 80%

Cours et diaporama du programme de R.pptx

  • 1.
    Langage R :Cours, Exemples & Exercices M. El Hamly, Ing., Ph.D. Version 2020
  • 2.
    Plan du cours: ‘Langage R’ • Installation de R • Installation de R-Studio • Langage R • Dataframes sous R Dr. M. El Hamly : Langage R 2
  • 3.
    Installation de R,R-Studio Dr. M. El Hamly : Langage R 3  Installation de R : • http://www.r-project.org • Après téléchargement, vous aurez un fichier de nom analogue à R-3.4.4-win • Si vous avez déjà une version antérieure à la courante, il vaut mieux la désinstaller en 1er lieu et ensuite installer la version courante.  Installation de R-Studio (optionnel) : • https://www.rstudio.com/products/rstudio/download/ • Après téléchargement, vous aurez un fichier de nom analogue à RStudio-1.1.442
  • 4.
    R Studio: Creatinga new project • R Studio : Un environnement de développement • File • New Project • Existing Directory • Browse • Create Project • File • New Project • New Directory • Empty Project Dr. M. El Hamly : Langage R 4
  • 5.
    R Studio: Settinga default working directory  When not in a project • Tools • Global Options • Etc. Dr. M. El Hamly : Langage R 5
  • 6.
    R Studio: Changingthe working directory • Session • Set Working Directory • Choose Directory Dr. M. El Hamly : Langage R 6
  • 7.
    Dr. M. ElHamly : Langage R 7
  • 8.
    Historique Dr. M. ElHamly : Langage R 8 • Dans le milieu des années 1970, une équipe de chercheurs de AT&T Bell Laboratories, composée de John Chambers, Douglas Bates, Rick Becker, Bill Cleveland, Trevor Hastie, Daryl Pregibon et Allan Wilks, développe un langage de programmation appelé S (la lettre S faisant référence à Statistics). Il s’agit d’un langage permettant de manipuler les données et d’effectuer des analyses statistiques et graphiques. Ce langage S est devenu S+. Dans le milieu des années 1990, Ross Ihaka et Robert Gentleman créent le R au département de Statistiques de l’Université d’Auckland. Ce langage et logiciel, inspiré du S et de Scheme est distribué sous les termes de la GNU General Public Licence. La R Development Core Team se charge de distribuer et de développer le logiciel R. De nombreux contributeurs à travers le monde participent au développement de R.
  • 9.
    Langage R :Installation Dr. M. El Hamly : Langage R 9 • Le logiciel R est un freeware disponible sur le site http://www.r-project.org • Il existe des versions – Windows – MacOS X – Linux • Outils disponibles : – un langage de programmation orienté objet – des fonctions de "base" – des librairies/packages complémentaires (des centaines sur le site CRAN)
  • 10.
    R : audémarrage • Le symbole > apparaît automatiquement en début de chaque ligne de commandes. • Le symbole + apparaît en début de ligne si la ligne précédente est incomplète. Dr. M. El Hamly : Langage R 10
  • 11.
    Utiliser l’aide :fonction help() Dr. M. El Hamly : Langage R 11 • On utilise la fonction help • help(plot) ou help("plot") ou help(’plot’) • Ou bien : • ?plot • starting httpd help server ... Done • L’argument de help est un nom de fonction de R. • La commande help() avec pour argument le nom de la fonction sur laquelle on désire une aide, génère une rubrique d’aide avec l’information désirée.
  • 12.
    Utiliser l’aide :fonction help.search() Dr. M. El Hamly : Langage R 12 • Quand on ignore le nom exact d’une fonction mais que l’on pense le connaître en partie, on pourra chercher son nom en utilisant la fonction help.search() ou un double point d’interrogation ?? • help.search("plot") • L’argument de help.search est un mot clé. • Autre exemple : • help.search("correlation") • Ou bien : • ??correlation
  • 13.
    Utiliser l’aide :fonction apropos() Dr. M. El Hamly : Langage R 13 • Pour trouver toutes les fonctions dont le nom contient une chaîne de caractères donnée, on peut utiliser la fonction apropos() : "as.logical" • apropos("log") • "as.data.frame.logical" "as.logical.factor" "dlogis" "is.logical" "log1p" "Logic" "loglin" "rlogis" "log" "log2" "logical" "plogis" "SSlogis" "log10" "logb" "logLik" "qlogis" "winDialog" "winDialogString"
  • 14.
    Utiliser l’aide: fonctiondemo() Dr. M. El Hamly : Langage R 14 • Pour obtenir la liste des démos : • demo() • demo(graphics) • Les exemples : • La fonction example exécute les exemples généralement inclus à la fin des fichiers d’aide • Syntaxe : example(FUN) • example(cor)
  • 15.
    Utiliser l’aide: fonctionhelp.start() • On ouvre l’aide en ligne de toutes les fonctions installées par help.start(). • help.start() Dr. M. El Hamly : Langage R 15
  • 16.
    R : quelquesnotes Dr. M. El Hamly : Langage R 16 • #  Dans une ligne de commande, tout ce qui suit # est ignoré, ce qui est utile pour les commentaires. • Exemple : • x = 1 # C’est une affectation. • Ajouter un point virgule (;) en fin d’une commande et poursuivre une autre commande sur la même ligne équivaut à exécuter les deux commandes ligne par ligne. • Exemple : • a = 1 ; b = 2 • Si votre commande est trop longue pour la taille de la fenêtre ou si elle est incomplète un signe + indique la continuité de l’invite. • > y = a* • + b
  • 17.
    R : quelquesnotes Dr. M. El Hamly : Langage R 17 • Souvent des commandes doivent être répétées, ou légèrement modifiées. On peut naviguer dans les commandes précédentes avec les touches  et . • Une fois rappelée une commande, elle peut être modifiée en se déplaçant dans la ligne :  ou . • Toutes les variables (scalaires, vecteurs, matrices, etc.) créées dans R sont appelées des objets. • Dans R, on affecte des valeurs aux variables en utilisant une flèche <- : taper les signes « inférieur » et « moins ». • On peut également utiliser le signe = • Par exemple on affectera le résultat du calcul 2×3 à la variable x en utilisant la commande
  • 18.
    R : quelquesnotes Dr. M. El Hamly : Langage R 18 • Pour examiner le contenu d’un objet quelconque de R il suffit de taper son nom. • Ainsi par exemple pour voir le contenu de x on tapera x et on observera après avoir validé la commande avec un retour chariot : • x • [1] 6 • Pour quitter R : • q()
  • 19.
    Éditeur & Exécutionde R Dr. M. El Hamly : Langage R 19 • On peut utiliser n’importe quel éditeur de texte, e.g., Bloc- notes. • On peut également utiliser l’éditeur de R-Studio. • Sinon, on peut utiliser l’éditeur intégré de R.  Exécution de R : • Syntaxe : source("nom-du-fichier.R") pour exécuter le code contenu dans le fichier nom-du-fichier.R • Exemple : • source("read1.R") • Q: Que donne l’instruction suivante ? • source("read1")
  • 20.
    Librairies Dr. M. ElHamly : Langage R 20 • Toutes les librairies ne sont pas chargées automatiquement au lancement du logiciel R. • library() retourne la liste des librairies installées. • library(LIB) charge la librairie LIB • Exemple : library(stats) • library(help = LIB) retourne la liste des fonctions de la librairie LIB. • Exemple : library(help = stats) • search(), searchpaths() retourne la liste des librairies chargées.
  • 21.
    Objets Dr. M. ElHamly : Langage R 21 • Il existe différents types d’objets dans R, comprenant entre autres  des scalaires,  des matrices,  des tableaux,  des « data frame » (tableaux, similaires à des matrices, mais dans lesquels les colonnes ne sont pas nécessairement de même type),  des tables  et des listes. • Dans R, la structure élémentaire d’objet est le vecteur. • Dans ce cours, on utilisera surtout les objets suivants : • vecteurs, matrices, data.frames, listes.
  • 22.
    Noms de variables Dr.M. El Hamly : Langage R 22 • Quelques exemples de noms valides et invalides : • foo = 5 • foo.123 = 5 • foo_123 = 5 • 123foo = 5 • .foo = 5 • .123foo = 5 # valide # valide # valide # invalide ; commence par un chiffre # valide # invalide ; point suivi d’un chiffre
  • 23.
    Opérations élémentaires Dr. M.El Hamly : Langage R 23 • Opérations élémentaires sur les scalaires : • +, −, *, /, ˆ • 2 + 4 • 6 • Opérations avec affectation (sans affichage) : • x = 2 + 4 • x • 6 • Affectation avec affichage du résultat : • (x = 2 + 4) • 6
  • 24.
    Opérations élémentaires Dr. M.El Hamly : Langage R 24 • Les opérations numériques s’effectuent en suivant les ordres de priorité classiques (puissance avant multiplication, et multiplication avant addition). • Pour éviter les doutes il est toujours prudent de mettre des parenthèses. • Division entière : • 7 %/% 2 • 3 • modulo : • 7 %% 2 • 1
  • 25.
    Principaux types Dr. M.El Hamly : Langage R 25 • Les principaux types sont • réel • complexe • caractère • logique : TRUE, FALSE • NA (not available) • Fonction typeof() • x = 1.2 • typeof(x) • "double"
  • 26.
    Valeurs particulières Dr. M.El Hamly : Langage R 26 • NA (not available)  valeur manquante • 1/0 • Inf • -1/0 • -Inf • 0/0 • NaN  Not a Number • Note : Certains noms sont utilisés par le système R, aussi vaut-il mieux éviter de les utiliser. En particulier, éviter d’utiliser c, q, t, C, D, I, diff, length, mean, pi, range, var
  • 27.
    Variable : pi Dr.M. El Hamly : Langage R 27 • Variables prédéfinies : • pi • 3.141593 • print(pi, digits=10) • 3.141592654 • print(pi, digits=20) • 3.1415926535897931 • sin(pi) # Théoriquement, sin(pi) = 0 • 1.224606e-16 (N.B. C’est bien 1.224606 10- 16) • cos(pi) • -1
  • 28.
    Objets Dr. M. ElHamly : Langage R 28 • Les objets de base sont • vecteurs, matrices, data.frames, listes • Quelques fonctions génériques : • ls() retourne la liste des objets de la session. • rm(a) supprime l’objet a. • Q. Que fait la fonction list.files() ? • Menu : Misc  Effacer tous les objets : • rm(list=ls(all=TRUE)) • N.B. Cette commande est très importante pour valider un nouveau programme.
  • 29.
    Qu’en est-il dela casse ? Dr. M. El Hamly : Langage R 29 • Attention ! • R différencie entre les lettres minuscules et les lettres majuscules. • i.e., R est sensible à la casse. • Exécuter ce qui suit : • x = 5 • 2*x • 2*X
  • 30.
    Les objets R Dr.M. El Hamly : Langage R 30 • Tout dans le langage R est un objet : les variables contenant des données, les fonctions, les opérateurs, même le symbole représentant le nom d’un objet est lui-même un objet. • Les objets possèdent au minimum un mode et une longueur et certains peuvent être dotés d’un ou plusieurs attributs. • Le mode d’un objet est obtenu avec la fonction mode : • x = c(1, 2, 5, 9) • mode(x) • "numeric" • La longueur d’un objet est obtenue avec la fonction length : • length(x) • 4
  • 31.
    Attributs Dr. M. ElHamly : Langage R 31 • Les attributs d’un objet sont des éléments d’information additionnels liés à cet objet. • Liste des attributs les plus fréquemment rencontrés : • Attribut • class • dim • dimnames • names Utilisation affecte le comportement d’un objet dimensions des matrices et tableaux étiquettes des dimensions des matrices et tableaux étiquettes des éléments d’un objet • Exemple : x = sample(1:100, 10) • class(x)  "integer" • mode(x)  "numeric"
  • 32.
    Attributs Dr. M. ElHamly : Langage R 32 • Plus généralement, la fonction attributes() permet d’extraire ou de modifier la liste des attributs d’un objet. • On peut aussi travailler sur un seul attribut à la fois avec la fonction attr(). • Les objets peuvent être dotés d’un ou plusieurs attributs. • Jeu de données intégré : • data(cars) • Liste de tous les attributs : • attributes(cars) • Extraction d’un seul attribut : • attr(cars, "class") • attributes(x) = NULL  supprimer les attributs de x
  • 33.
    Fonctions is/as Dr. M.El Hamly : Langage R 33 • is.xxx(obj) teste si obj est un objet de type xxx • as.xxx(obj) contraint si possible obj au type d’objet xxx où xxx représente un type d’objet (numeric, complex, vector, matrix, character, etc.) • x = 3 • is.numeric(x) • TRUE • is.complex(x) • FALSE • is.character(x) • FALSE
  • 34.
    Fonctions is/as Dr. M.El Hamly : Langage R 34 • x • 3 • as.complex(x) • 3+0i • as.character(x) • "3" • Conversion de TRUE / FALSE en valeur numérique : • as.integer(T) ou bien as.integer(TRUE) • 1 • as.integer(F) ou bien as.integer(FALSE) • 0
  • 35.
    Fonctions is/as Dr. M.El Hamly : Langage R 35 • Exemple • as.numeric(2+3i) • 2 • Warning message: • Les parties imaginaires sont perdues lors de la conversion automatique. • Q: Quelle est la différence entre une erreur et un warning ?
  • 36.
    T, F Dr. M.El Hamly : Langage R 36 • Le ET logique est vrai seulement lorsque les deux expressions sont vraies : • c(TRUE, TRUE, FALSE) & c(TRUE, FALSE, FALSE) • Le OU logique est faux seulement lorsque les deux expressions sont fausses : • c(TRUE, TRUE, FALSE) | c(TRUE, FALSE, FALSE) • La négation logique transforme les vrais en faux et vice versa : • ! c(TRUE, FALSE)
  • 37.
    T/F Dr. M. ElHamly : Langage R 37 • Q : Expliquer ce qui suit : • T + 2 • F + 5 • Conclusion : • En météo, par exemple, pour le paramètre température, il vaut mieux choisir une variable de nom temp ou Temp ou carrément température, etc. • Éviter donc la variable T. • Éviter également la variable F. • Exemple : • température = 15.4
  • 38.
    Vecteurs : mélanged’objets Dr. M. El Hamly : Langage R 38 • Si l’on mélange dans un même vecteur des objets de mode différents, il y a conversion automatique vers le mode pour lequel il y a le moins de perte d’information, c’est-à-dire vers le mode qui permet le mieux de retrouver la valeur originale des éléments. # conversion en mode ’character’ # conversion en mode ’character’ • c(5, TRUE, FALSE) # conversion en mode ’numeric’ • c(5, "A") • c(TRUE, "A") • c(5, TRUE, "A" ) # conversion en mode ’character’
  • 39.
    Fonction : mode() Dr.M. El Hamly : Langage R 39 • mode(3) • "numeric" • mode(3+2i) • "complex" • mode("ABcd") • "character" • mode(seq) # une fonction • mode(list(5, "foo", TRUE)) # une liste • mode(expression(x <- 5)) # une expression non évaluée
  • 40.
    Fonction paste() Dr. M.El Hamly : Langage R 40 • paste("AB", "ab") • "AB ab" • paste("AB", "ab", sep="/") • "AB/ab" • paste("AB", "ab", sep="") • "ABab" • HR = 80 • print(paste("- Humidité relative = ", HR, "%", sep=""), q=F) • - Humidité relative = 80%