R Introduction
R Introduction
Introduction au langage R
Objectifs de la formation
Introduction au langage R
Objectifs de la journée #1
Introduction au langage R
Plan
I. Le langage R
A. Qu’est ce que R?
B. Comment se servir de RStudio?
C. Comment se déplacer dans les dossiers?
D. Où peut-on trouver des ressources?
I. Les variables
A. Qu’est ce qu’une variable?
B. Quels sont les types de variable?
C. Comment combiner les variables en objets plus complexes?
I. Les Fonctions
A. Qu’est ce qu’une fonction?
B. Comment est elle construite?
5 Introduction au langage R
Chapitre
Le langage R2
Qu’est ce que R?
❏ Développé au début des années 1990 par Ross Ihaka et Robert Gentleman
❏ Un langage de programmation
→ Basé sur un langage statistique ( S )
→ Capable de traiter et organiser des jeux de données
→ Permet d’appliquer des tests statistiques
→ Permet de représenter les données graphiquement
❏ Une communauté très active qui fournit déjà plus de 4000 extensions et
interagit dans de nombreux forums et conférences
Introduction au langage R
Comment utiliser R? Console
Introduction au langage R
Comment utiliser R? RStudio
Environnement visuel,
intégré et interactif
Introduction au langage R
Structure de RStudio
- Objets/variables créés
Ecrire du code - Code interprété
- Navigateur
- Plots créés
- Packages disponibles
Interpréter du code
- Aides sur les
packages
Introduction au langage R
Structure de RStudio
- Objets/variables créés
Ecrire du code - Code interprété
- Navigateur
- Plots créés
- Packages disponibles
Interpréter du code
- Aides sur les
packages
Introduction au langage R
Naviguer dans les dossiers
Savoir où nous sommes dans l’arborescence des dossiers Indique que
nous regardons
dans “home”
Introduction au langage R
Créer un fichier / interpréter du code
créer un
nouveau fichier
R script
les # permettent
d’écrire des
commentaires
qui ne seront
pas interprétés
Introduction au langage R
Créer un fichier / interpréter du code
envoyer vers la
console
envoyer vers la
le script
Sélectionner
Introduction au langage R
Changer de répertoire
Indique le
dossier où nous
Attention nous regardons ainsi
sommes que
toujours dans l’arborescence
“home”
Introduction au langage R
Changer de répertoire
indique où nous
sommes
Introduction au langage R
L’auto-complétion
Introduction au langage R
Nous avons appris ...
- RStudio est une interface qui facilite beaucoup la navigation dans l’ordinateur au
travers des dossiers.
- C’est important, il faut comprendre l’architecture des dossiers pour aller chercher les
fichiers de données et pouvoir sauver les résultats dans les répertoires adéquats
Introduction au langage R
Vos données dans R
Introduction au langage R
Vos données dans R
Introduction au langage R
Vos données dans R
Colonne
Nom de colonne
Typage
Lignes ?
Introduction au langage R
Packages
❏ Les packages sont des boîtes à outils où l’on trouve des fonctions relatives à une question
donnée.
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
❏ Plus de 10 ans d'expérience et plus de 1000 packages
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
❏ Plus de 10 ans d'expérience et plus de 1000 packages
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
❏ Plus de 10 ans d'expérience et plus de 1000 packages
❏ Utilisation de la fonction biocLite() de BioConductor
> source("[Link]
> biocLite(“[Link]”)
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
❏ Plus de 10 ans d'expérience et plus de 1000 packages
❏ Utilisation de la fonction biocLite() de BioConductor
> source("[Link] >library("BiocManager")
> biocLite("[Link]") > BiocManager::install("[Link]")
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
❏ Plus de 10 ans d'expérience et plus de 1000 packages
❏ Utilisation de la fonction biocLite() de BioConductor
❏ Forum dédié à la bio-informatique and aux packages BioConductor
([Link] - Personne ne peut connaître tous
les packages!
Introduction au langage R
Ressources
❏ R Packages
❏ Quand on installe R, les fonctions basiques “basic” sont disponibles
❏ Dû à la popularité de R, des milliers de packages sont disponibles gratuitement
❏ Où trouver les packages?
❏ Principale ressource: CRAN ([Link]
❏ ~ 10,000 packages organisés en vues.
❏ Fonction principale: [Link]()
❏ Plus de 10 ans d'expérience et plus de 1000 packages
❏ Utilisation de la fonction biocLite() de BioConductor
❏ Forum dédié à la bio-informatique and aux packages BioConductor
([Link] - Personne ne peut connaître tous
les packages!
Introduction au langage R
Nous avons appris ...
- Où trouver de l’aide
- Que probablement, si vous vous posez une question, quelqu’un aura déjà proposé
une implémentation, discuté sur un forum, n’hésitez pas à utiliser votre moteur de
recherche internet en tapant “R” et les mots clés que vous recherchez.
Introduction au langage R
Chapitre
Les variables2
Interprétons du code
chevron
Introduction au langage R
Interprétons du code
Introduction au langage R
Interprétons du code
Introduction au langage R
Interprétons du code
Introduction au langage R
Interprétons du code
Introduction au langage R
Qu’est ce qu’une variable?
variable = espace de stockage de valeurs
>
>
Introduction au langage R
Déclarer une variable
# On veut stocker le nombre de Déclaration = nommer la variable afin
réplicats (3) pour l’échantillon P240 de pouvoir l’utiliser
Introduction au langage R
Déclarer une variable
# On veut stocker le nombre de Déclaration = nommer la variable afin
réplicats pour l’échantillon P240 de pouvoir l’utiliser
Introduction au langage R
Déclarer une variable
# On veut stocker le nombre de Déclaration = nommer la variable afin
réplicats (3) pour l’échantillon P240 de pouvoir l’utiliser
Introduction au langage R
Assigner une valeur dans une variable
# On veut stocker le nombre de Assignation = stocker les valeurs
réplicats (3) pour l’échantillon P240 dans une case mémoire
> P240_nb_rep
console
Introduction au langage R
Assigner une valeur dans une variable
# On veut stocker le nombre de
réplicats (3) pour l’échantillon P240
déclaration P240_nb_rep
assignation
> P240_nb_rep ← 3
L’assignation se fait
via
← ou =
les 2 sont équivalents
console
Introduction au langage R
Assigner une valeur dans une variable
# On veut stocker le nombre de
réplicats (3) pour l’échantillon P240
déclaration P240_nb_rep
assignation
> P240_nb_rep ← 3
L’assignation se fait
via
← ou =
les 2 sont équivalents
console
Introduction au langage R
Manipuler une variable
# On veut afficher le contenu de la
variable P240_nb_rep appel
P240_nb_rep
console
Introduction au langage R
Manipuler une variable
# On veut assigner le contenu de
P240_nb_rep à une nouvelle variable
P240_nb_rep x
appel
> P240_nb_rep 3 3
[1] 3 e le
retourn
> x ← P240_nb_rep conten u
console
Introduction au langage R
Manipuler une variable
# On veut assigner le contenu de
P240_nb_rep à une nouvelle variable
P240_nb_rep x
appel
> P240_nb_rep 3 3
[1] 3 e le
retourn
> x ← P240_nb_rep conten u
console
Introduction au langage R
Manipuler une variable
# On a produit un réplicat de plus et l’on veut
changer la valeur de P240_nb_rep
P240_nb_rep x
l
appe
> P240_nb_rep 3 3
[1] 3
> x ← P240_nb_rep
retourne le
> P240_nb_rep + 1 contenu
[1] 4
Introduction au langage R
Manipuler une variable
# On a produit un réplicat de plus et l’on veut
changer la valeur de P240_nb_rep
P240_nb_rep x
l
appe
> P240_nb_rep 4 3
[1] 3
> x ← P240_nb_rep
retourne le
> P240_nb_rep + 1 contenu
[1] 4
> P240_nb_rep ← P240_nb_rep + 1
console
Introduction au langage R
Manipuler une variable
# On a produit un réplicat de plus et l’on veut
changer la valeur de P240_nb_rep
P240_nb_rep x
l
appe
> P240_nb_rep 4 3
[1] 3
> x ← P240_nb_rep
retourne le
> P240_nb_rep + 1 contenu
[1] 4
> P240_nb_rep ← P240_nb_rep + 1
> P240_nb_rep
[1] 4
console
Introduction au langage R
Variables existantes
P240_nb_rep x pi Test
abcde
> P240_nb_rep + 1
[1] 4
> P240_nb_rep ← P240_nb_rep + 1
> P240_nb_rep
[1] 4
console
Introduction au langage R
Nous avons appris ...
- Que nous pouvons interpréter du code et soit afficher, soit stocker le résultat afin
de le réutiliser
- Qu'une variable est un espace alloué dans la mémoire que nous nommons
(déclaration) et à qui nous affectons une valeur grâce à ← ou =
- Que nous pouvons à tout moment appeler la variable par son nom et utiliser son
contenu
- Que nous pouvons affecter une nouvelle valeur à variable , ce qui entraîne la perte
de la valeur qui y était stockée
Introduction au langage R
Types de variables
Introduction au langage R
Types de variables: briques élémentaires
Type Description
Introduction au langage R
Types de variables: briques élémentaires
Type Description
Introduction au langage R
Les nombres entiers et décimaux: opérations et priorité
Introduction au langage R
Les nombres entiers et décimaux: opérations et priorité
> a ← 1; b ← 1; c ← 6
# calculer la moyenne
> (a+b+c) / 3
Introduction au langage R
Les nombres entiers et décimaux: opérations et priorité
Introduction au langage R
Les nombres entiers et décimaux: opérations et priorité
> a ← 1; b ← 1; c ← 6
# calculer la moyenne # calculer la moyenne
> (a+b+c) / 3 > moyenne ← (a+b+c) / 3
# multiplier a et la moyenne # multiplier a et la moyenne de a, b et
de a, b et # c puis mettre au # c puis mettre au carré
carré > (a*moyenne)^2
> (a*(a+b+c) / 3)^2
Introduction au langage R
Les nombres entiers et décimaux: opérations et priorité
> a ← 1; b ← 1; c ← 6
# calculer la moyenne
> (a+b+c) / 3
# multiplier a et la moyenne de a, b et # c puis mettre au carré
> (a*(a+b+c) / 3)^2
# diviser c par a au cube
> c/a^3
Introduction au langage R
Les nombres entiers et décimaux: découverte des fonctions existantes
Pour aller plus loin nous avons besoin d’automatiser des outils
- Mathématiques (moyenne, somme, distribution …)
- Pratiques (importer des donner, exporter …)
Introduction au langage R
Découverte des fonctions existantes: définition et appel
Informations dont la
fonction à besoin
pour travailler
Mêmes règles que
pour le choix du
nom des variables
nom_de_la_fonction( arguments )
Les parenthèses
indiquent que nous
appelons une fonction
Introduction au langage R
Découverte des fonctions existantes: fonction sqrt() _square root_
Introduction au langage R
Découverte des fonctions existantes: fonction sqrt() _square root_
Introduction au langage R
Découverte des fonctions existantes: fonction sqrt() _square root_
Introduction au langage R
Découverte des fonctions existantes: fonction sqrt() _square root_
Introduction au langage R
Découverte des fonctions existantes: fonction log() _logarithme_
Introduction au langage R
Découverte des fonctions existantes: fonction log() _logarithme_
Introduction au langage R
Découverte des fonctions existantes: fonction log() _logarithme_
> log(x=10,2)
> log(10,base=2) Ici nous n’avons que 2 arguments, si nous n’en nommons qu’1, R va
> log(base=2,10) affecter la valeur à l’argument restant.
> log(2,x=10)
Si nous ne nommons aucun argument, R va affecter les valeurs aux
> log(10,2) arguments dans l’ordre dans lequel ils ont été définis dans la fonction
> log(2,10)
Introduction au langage R
Not a Number et Infini
Introduction au langage R
Découverte des fonctions existantes: fonction log() _logarithme_ et ses alias
Introduction au langage R
Types de variables: briques élémentaires
Type Description
Introduction au langage R
Les caractères et chaînes de caractères
Introduction au langage R
Les caractères et chaînes de caractères
“Sample.S1”
Introduction au langage R
Les caractères et chaînes de caractères
Créons une variable c contenant la chaîne de caractères: les “guillemets” sont spéciaux
Introduction au langage R
Les caractères et chaînes de caractères
Créons une variable c contenant la chaîne de caractères: les “guillemets” sont spéciaux
Introduction au langage R
Les caractères et chaînes de caractères
Créons une variable c contenant la chaîne de caractères: les “guillemets” sont spéciaux
Introduction au langage R
Types de variables: briques élémentaires
Type Description
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
égalité et différence
== et !=
égalité et différence
== et !=
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
Introduction au langage R
Les booléens ou éléments logiques
Expression ou élément pouvant prendre 2 valeurs
- A créer et manipuler des variables de type numérique, caractère et logique qui sont
en fait les briques élémentaires qui vont servir à construire des objets plus
complexes
- Que R “reconnait” le type de variable : on dit que le typage des variables est
implicite
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant : 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
0 FALSE
Introduction au langage R
Modifier le type d’une variable
Nous utilisons des fonctions dont le nom commence toujours par as. suivi du type désiré.
Créons 4 variables, a, b, c et d contenant: 42, “Bonjour”, “9.3” et TRUE
0 FALSE
Introduction au langage R
Types de variables: briques élémentaires
Type Description
Introduction au langage R
Not Available et NULL
Créon 2 variables a et b contenant l’une NA et
l’autre NULL
a b
> a ← NA
> b ← NULL
> a ← NA
NA
> b ← NULL
> NA + 6
[1] NA
- une fonction renvoie la valeur NA quand le résultat est quelque chose qui
n'existe pas.
> [Link](“Hello”)
[1] NA
Introduction au langage R
Not Available et NULL
> NULL + 6
[1] integer(0)
Introduction au langage R
Nous avons appris … beaucoup de choses
Introduction au langage R
Pour fêter ça … QUIZZ
Laquelle de ces valeurs n’existe pas ? NA, NULL … ou les 2 ?
a. “Le chat dans la boîte” … n’occupe pas d’espace
b. 42 … non utilisable dans une opération
c. NULL … peut être présent dans mes données
d. NA … peut être retourné par une fonction
Introduction au langage R
Manipulons les chaînes de caractères
Créons une variable a contenant la chaîne de caractères : Sample.S1
a
“Sample.S1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
nchar(a)
nombre de
caractères
a
“Sample.S1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
nchar(a)
nombre de
caractères
a
“Sample.S1”
ch
a ng
er
la
ca
s se
toupper(a) tolower(a)
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
9 “sample.S1”
nchar(a) sub(pattern=“S”,
replacement=“s”,x=a)
nombre de
caractères
r
titue
a subs
“Sample.S1”
ch
a ng
er
la
ca
s se
toupper(a) tolower(a)
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
9 “sample.S1”
“sample.s1”
nchar(a) sub(pattern=“S”, global
replacement=“s”,x=a)
gsub(pattern=“S”,
nombre de
caractères
replacement=“s”,x=a)
r
titue
a subs
“Sample.S1”
ch
a ng
er
la
ca
s se
toupper(a) tolower(a)
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
9 “sample.S1”
“sample.s1”
nchar(a) sub(pattern=“S”, global
replacement=“s”,x=a)
gsub(pattern=“S”,
nombre de
caractères
replacement=“s”,x=a)
r
titue
a subs
“Sample.S1”
s-ch une
ch
e
a în
a
sou pérer
ng
er
la
u
ca
réc
s se
substr(start=3,
stop=5,x=a)
toupper(a) tolower(a)
“mpl”
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
9 “sample.S1”
“sample.s1”
nchar(a) sub(pattern=“S”, global
replacement=“s”,x=a)
gsub(pattern=“S”,
nombre de
caractères
replacement=“s”,x=a)
r
titue
a subs
“Sample.S1” chercher les positions
s-ch une
ch
e
a în
a
sou pérer
ng
er
la
u
ca regexpr(pattern=“S”,
réc
s se
substr(start=3, text=a)
stop=5,x=a)
1
toupper(a) tolower(a)
“mpl”
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
9 “sample.S1”
“sample.s1”
nchar(a) sub(pattern=“S”, global
replacement=“s”,x=a)
gsub(pattern=“S”,
nombre de
caractères
replacement=“s”,x=a)
r
titue
a subs
“Sample.S1” chercher les positions
gregexpr(pattern=“S”,
text=a) 1 8
s-ch une
ch
e
a în
a
sou pérer
ng
er
la
u
ca regexpr(pattern=“S”,
réc
s se
substr(start=3, text=a)
stop=5,x=a)
1
toupper(a) tolower(a)
“mpl”
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Les caractères et chaînes de caractères : mémo fonctions de base
9 “sample.S1”
“sample.s1”
nchar(a) sub(pattern=“S”, global
replacement=“s”,x=a)
gsub(pattern=“S”,
nombre de
caractères
replacement=“s”,x=a)
r
titue
b a subs
2018 “Sample.S1” chercher les positions
gregexpr(pattern=“S”,
text=a) 1 8
es
s-ch une
r
des caténe
iabl
ch
e
a în
a
sou pérer
ng
var
er
co n
la
u
ca regexpr(pattern=“S”,
réc
s se
substr(start=3, text=a)
paste(a, b,sep=”.”)
stop=5,x=a)
1
toupper(a) tolower(a)
“Sample.S1.2018”
“mpl”
“SAMPLE.S1” “sample.s1”
Introduction au langage R
Comment feriez vous ?
Créez une variable nommée [Link] contenant le nom d’un fichier:
genomic_coordinates_hg19.txt
• Créez une nouvelle variable nommée [Link] contenant le nom du fichier sans
l’extension “.txt”. Vous utiliserez la fonction sub().
• Afficher la version de génome dans la console. Pour cela vous devez respecter les contraintes
suivantes:
• Utiliser les fonctions suivantes : nchar() et substr()
• Ecrire en une seule ligne de code
Introduction au langage R
Combiner les variables : structures complexes
classe Description
Introduction au langage R
Combiner les variables : structures complexes
classe Description
classe Description
Introduction au langage R
Qu’est ce qu’un vecteur ?
Introduction au langage R
Qu’est ce qu’un vecteur ?
Introduction au langage R
Qu’est ce qu’un vecteur ?
Introduction au langage R
Qu’est ce qu’un vecteur ?
Introduction au langage R
Qu’est ce qu’un vecteur ?
- Toutes les fonctions que nous avons appliquées aux numériques / caractères / logiques
prennent en fait des vecteurs en argument
- On les utilise donc de la même façon sur des vecteurs de longueur 1 que de longueur 1000.
Introduction au langage R
Créer des vecteurs avec rep()
Créons un vecteur contenant 10 chaînes de caractères “A”
Introduction au langage R
Créer des vecteurs avec rep()
Créons un vecteur contenant 10 chaînes caractères “A”
Introduction au langage R
Créer des vecteurs avec rep()
Créons un vecteur contenant 10 chaînes caractères “A”
Introduction au langage R
Créer des vecteurs avec rep()
Créons un vecteur contenant 10 chaînes caractères “A”
> rep(1,3)
[1] 1 1 1
> rep(TRUE,5)
[1] TRUE TRUE TRUE TRUE TRUE
Introduction au langage R
Créer des vecteurs numériques
Il y a 2 façons spécifiques de créer des vecteurs numériques.
Créons la suite de 1 à 9
> 1:9
[1] 1 2 3 4 5 6 7 8 9
> seq(1,9,1) # Quels sont les arguments?
[1] 1 2 3 4 5 6 7 8 9
Introduction au langage R
Créer des vecteurs numériques
Il y a 2 façons spécifiques de créer des vecteurs numériques.
Créons la suite de 1 à 9
> 1:9
[1] 1 2 3 4 5 6 7 8 9
> seq(1,9,1) # Quels sont les arguments?
[1] 1 2 3 4 5 6 7 8 9
Introduction au langage R
Créer des vecteurs numériques
Il y a 2 façons spécifiques de créer des vecteurs numériques.
Créons la suite de 1 à 9
> 1:9
[1] 1 2 3 4 5 6 7 8 9
> seq(1,9,1) # Quels sont les arguments?
[1] 1 2 3 4 5 6 7 8 9
> seq(2,20,2)
[1] 2 4 6 8 10 12 14 16 18 20
Introduction au langage R
Concaténer plusieurs vecteurs
Nous allons utiliser la fonction c() qui prend un nombre indéterminé d’arguments.
Chacun des arguments donnés est ajouté au nouveau vecteur dans l'ordre dans lequel il a été ajouté
# Créons un vecteur avec les nombres 2,7 et 4 (un nombre est en fait un vecteur de longueur 1)
> c(2, 7, 4)
[1] 2 7 4
# Créons un vecteur avec les chaînes de caractères “boo”, “A” et “zad”
> c(“boo”,”A”,”zad”)
[1] “boo” “A” “zad”
Introduction au langage R
Concaténer plusieurs vecteurs
Nous allons utiliser la fonction c() qui prend un nombre indéterminé d’arguments.
Chacun des arguments donnés est ajouté au nouveau vecteur dans l'ordre dans lequel il a été ajouté
# Créons un vecteur avec les nombres 2,7 et 4 (un nombre est en fait un vecteur de longueur 1)
> c(2, 7, 4)
[1] 2 7 4
# Créons un vecteur avec les chaînes de caractères “boo”, “A” et “zad”
> c(“boo”,”A”,”zad”)
[1] “boo” “A” “zad”
Introduction au langage R
Concaténer plusieurs vecteurs
Nous allons utiliser la fonction c() qui prend un nombre indéterminé d’arguments.
Chacun des arguments donnés est ajouté au nouveau vecteur dans l'ordre dans lequel il a été ajouté
# Créons un vecteur avec les nombres 2,7 et 4 (un nombre est en fait un vecteur de longueur 1)
> c(2, 7, 4)
[1] 2 7 4
# Créons un vecteur avec les chaînes de caractères “boo”, “A” et “zad”
> c(“boo”,”A”,”zad”)
[1] “boo” “A” “zad”
Introduction au langage R
Concaténer plusieurs vecteurs
Les vecteurs que nous concaténons doivent-être de même type.
Introduction au langage R
Concaténer plusieurs vecteurs
Les vecteurs que nous concaténons doivent-être de même type.
Introduction au langage R
Concaténer plusieurs vecteurs
Les vecteurs que nous concaténons doivent-être de même type.
Introduction au langage R
Nommer les éléments d’un vecteur avec names()
Nommer les éléments d’un vecteur permet d’accéder facilement à son contenu.
Créons un vecteur contenant le poids de 4 individus, Pierre, Paul, Jeanne et Agathe qui pèsent
respectivement 67, 89, 55 et 60 kg.
Introduction au langage R
Nommer les éléments d’un vecteur avec names()
Nommer les éléments d’un vecteur permet d’accéder facilement à son contenu.
Créons un vecteur contenant le poids de 4 individus, Pierre, Paul, Jeanne et Agathe qui pèsent
respectivement 67, 89, 55 et 60 kg.
Introduction au langage R
Nommer les éléments d’un vecteur avec names()
Nommer les éléments d’un vecteur permet d’accéder facilement à son contenu.
Créons un vecteur contenant le poids de 4 individus, Pierre, Paul, Jeanne et Agathe qui pèsent
respectivement 67, 89, 55 et 60 kg.
Introduction au langage R
Nommer les éléments d’un vecteur avec names()
Nommer les éléments d’un vecteur permet d’accéder facilement à son contenu.
Créons un vecteur contenant le poids de 4 individus, Pierre, Paul, Jeanne et Agathe qui pèsent
respectivement 67, 89, 55 et 60 kg.
Introduction au langage R
Nommer les éléments d’un vecteur avec names()
Nommer les éléments d’un vecteur permet d’accéder facilement à son contenu.
Créons un vecteur contenant le poids de 4 individus, Pierre, Paul, Jeanne et Agathe qui pèsent
respectivement 67, 89, 55 et 60 kg.
Introduction au langage R
Nommer les éléments d’un vecteur avec names()
Nommer les éléments d’un vecteur permet d’accéder facilement à son contenu.
Créons un vecteur contenant le poids de 4 individus, Pierre, Paul, Jeanne et Agathe qui pèsent
respectivement 67, 89, 55 et 60 kg.
Introduction au langage R
Indexation
Les vecteurs sont une suite d’éléments ordonnés.
On dit que les éléments d'un vecteur sont indexés: chaque élément est accessible grâce à un index
numérique ou par un nom qui peut lui être attribué (grâce à names()).
1 2 3 4
poids 67 89 55 60
Pierre Paul Jeanne Agathe
Introduction au langage R
Indexation
Les vecteurs sont une suite d’éléments ordonnés.
On dit que les éléments d'un vecteur sont indexés: chaque élément est accessible grâce à un index
numérique ou par un nom qui peut lui être attribué (grâce à names()).
Pour pouvoir sélectionner des éléments précis d'un vecteur, il faut spécifier l’indice (numérique ou
nom) des éléments que nous voulons extraire.
# Nous voulons récupérer le poids de Jeanne. Celui-ci correspond au 3ème élément du vecteur
# l’utilisation des crochets [ ] permet d’accéder au contenu du vecteur
> poids
1 2 3 4
67 89 55 60
Pierre Paul Jeanne Agathe
Introduction au langage R
Indexation
Les vecteurs sont une suite d’éléments ordonnés.
On dit que les éléments d'un vecteur sont indexés: chaque élément est accessible grâce à un index
numérique ou par un nom qui peut lui être attribué (grâce à names()).
Pour pouvoir sélectionner des éléments précis d'un vecteur, il faut spécifier l’indice (numérique ou
nom) des éléments que nous voulons extraire.
# Nous voulons récupérer le poids de Jeanne. Celui-ci correspond au 3ème élément du vecteur
# l’utilisation des crochets [ ] permet d’accéder au contenu du vecteur
> poids[“Jeanne”] poids
Jeanne 1 2 3 4
55 67 89 55 60
Pierre Paul Jeanne Agathe
Introduction au langage R
Indexation
Les vecteurs sont une suite d’éléments ordonnés.
On dit que les éléments d'un vecteur sont indexés: chaque élément est accessible grâce à un index
numérique ou par un nom qui peut lui être attribué (grâce à names()).
Pour pouvoir sélectionner des éléments précis d'un vecteur, il faut spécifier l’indice (numérique ou
nom) des éléments que nous voulons extraire.
# Nous voulons récupérer le poids de Jeanne. Celui-ci correspond au 3ème élément du vecteur
# l’utilisation des crochets [ ] permet d’accéder au contenu du vecteur
> poids[“Jeanne”]
poids
Jeanne 1 2 3 4
55 67 89 55 60
> poids[3] Pierre Paul Jeanne Agathe
Jeanne
55
Introduction au langage R
Indexation
Les vecteurs sont une suite d’éléments ordonnés.
On dit que les éléments d'un vecteur sont indexés: chaque élément est accessible grâce à un index
numérique ou par un nom qui peut lui être attribué (grâce à names()).
Pour pouvoir sélectionner des éléments précis d'un vecteur, il faut spécifier l’indice (numérique ou
nom) des éléments que nous voulons extraire.
# Nous voulons récupérer le poids de Jeanne. Celui-ci correspond au 3ème élément du vecteur
# l’utilisation des crochets [ ] permet d’accéder au contenu du vecteur
> poids[“Jeanne”]
poids
Jeanne 1 2 3 4
55 N’oublions pas qu’en R il n’y a 67 89 55 60
> poids[3] pas d’élément isolé, il s’agit Pierre Paul Jeanne Agathe
donc de vecteur de longueur 1
Jeanne
55
Introduction au langage R
Indexation
Les vecteurs sont une suite d’éléments ordonnés.
On dit que les éléments d'un vecteur sont indexés: chaque élément est accessible grâce à un index
numérique ou par un nom qui peut lui être attribué (grâce à names()).
Pour pouvoir sélectionner des éléments précis d'un vecteur, il faut spécifier l’indice (numérique ou
nom) des éléments que nous voulons extraire.
# Nous voulons récupérer le poids de Jeanne. Celui-ci correspond au 3ème élément du vecteur
# l’utilisation des crochets [ ] permet d’accéder au contenu du vecteur
> poids[“Jeanne”]
poids
Jeanne 1 2 3 4
55 N’oublions pas qu’en R il n’y a 67 89 55 60
> poids[3] pas d’élément isolé, il s’agit Pierre Paul Jeanne Agathe
donc de vecteur de longueur 1
Jeanne
55
Nous pouvons accéder à plusieurs
éléments en utilisant un vecteur d’indices
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
> poids[c(2,4)]
Paul Agathe Les éléments sont
renvoyés dans
89 60
l’ordre spécifié
> poids[c(“Agathe”,“Paul”)] dans le vecteur
poids
Agathe Paul d’indices.
1 2 3 4
55 89
67 89 55 60
Pierre Paul Jeanne Agathe
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
> poids[c(2,4)]
Paul Agathe Les éléments sont
renvoyés dans
89 60
l’ordre spécifié
> poids[c(“Agathe”,“Paul”)] dans le vecteur
poids
Agathe Paul d’indices.
1 2 3 4
55 89
67 89 55 60
# On aurait pu utiliser seq() Pierre Paul Jeanne Agathe
>
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
> poids[c(2,4)]
Paul Agathe Les éléments sont
renvoyés dans
89 60
l’ordre spécifié
> poids[c(“Agathe”,“Paul”)] dans le vecteur
poids
Agathe Paul d’indices.
1 2 3 4
55 89
67 89 55 60
# On aurait pu utiliser seq() Pierre Paul Jeanne Agathe
> poids[seq(4,2,-2)]
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
> poids[c(2,4)]
Paul Agathe Les éléments sont
renvoyés dans
89 60
l’ordre spécifié
> poids[c(“Agathe”,“Paul”)] dans le vecteur
poids
Agathe Paul d’indices.
1 2 3 4
55 89
67 89 55 60
# On aurait pu utiliser seq() Pierre Paul Jeanne Agathe
> poids[seq(4,2,-2)]
Agathe Paul
55 89
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
> poids[c(2,4)]
Paul Agathe Les éléments sont
renvoyés dans
89 60
l’ordre spécifié
> poids[c(“Agathe”,“Paul”)] dans le vecteur
poids
Agathe Paul d’indices.
1 2 3 4
55 89
67 89 55 60
# On aurait pu utiliser seq() Pierre Paul Jeanne Agathe
> poids[seq(4,2,-2)]
Agathe Paul
55 89
# On peut également enlever les éléments qui ne nous intéressent pas
Introduction au langage R
Comment feriez vous ?
Nous allons utiliser le vecteur poids et afficher les poids de Paul et d’Agathe.
Il existe au moins 7 façons de faire cela en utilisant ou les indices numériques ou les noms ou les
booléens.
Avec vos connaissances, vous pouvez en proposer au moins 2.
# On peut également enlever les éléments qui ne nous intéressent pas grâce aux indices
numériques
> poids[-c(1,3)]
Paul Agathe
89 60 poids
1 2 3 4
67 89 55 60
Pierre Paul Jeanne Agathe
Introduction au langage R
Filtrage grâce aux masques booléens
Nous pouvons sélectionner les éléments d’un vecteur en utilisant un vecteur de booléens de même
taille.
1 2 3 4
# le premier élément du vecteur contenant
# les éléments logiques est attribué au
poids 67 89 55 60 # premier élément du vecteur poids etc
Pierre Paul Jeanne Agathe
> poids[c(FALSE,TRUE,FALSE,TRUE)]
1 2 3 4
Introduction au langage R
Filtrage grâce aux masques booléens
Nous pouvons sélectionner les éléments d’un vecteur en utilisant un vecteur de booléens de même
taille.
1 2 3 4
> poids[c(FALSE,TRUE,FALSE,TRUE)]
poids 67 89 55 60 Paul Agathe
Pierre Paul Jeanne Agathe 89 60
1 2 3 4
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment ...
[Link](poids) renvoie un
# Nous voulons le poids de Jeanne vecteur contenant le nom
> names(poids) == “Jeanne” # nous testons l’égalité entre chaînes de caractères
des éléments du vecteur
[1] FALSE FALSE TRUE FALSE poids.
>
[Link] élément du
vecteur retourné est
comparé avec “Jeanne” et
TRUE ou FALSE est
renvoyé suivant la véracité
de l’égalité.
[Link](poids) renvoie un
> names(poids) vecteur contenant le nom
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe” des éléments du vecteur
# Nous voulons le poids de Jeanne poids.
> names(poids) == “Jeanne” # nous testons l’égalité entre chaînes de caractères
[1] FALSE FALSE TRUE FALSE [Link] élément du
> poids[names(poids) == “Jeanne”] vecteur retourné est
Jeanne comparé avec “Jeanne” et
55 TRUE ou FALSE est
renvoyé suivant la véracité
de l’égalité.
> names(poids)
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe”
# Nous voulons le poids de Jeanne
> names(poids) == “Jeanne” # nous testons l’égalité entre chaînes de caractères
[1] FALSE FALSE TRUE FALSE
> poids[names(poids) == “Jeanne”]
Jeanne
55
# nous voulons les éléments dont la valeur est strictement supérieure à 60
> poids > 60 # La comparaison est opéré sur chaque élément de poids
[1] TRUE TRUE FALSE FALSE
> poids[poids > 60]
Pierre Paul
67 89
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
| ou
& et
%in% appartient à
! négation
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
> names(poids)
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe”
# Nous voulons le poids de Paul et Agathe
# Nous pouvons combiner les comparaisons
# Nous demandons que le nom de l’élément soit égal à Paul OU à Agathe
>
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
[Link] première comparaison
> names(poids) retourne un vecteur de booléens
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe” signifiant si un des 4 éléments
# Nous voulons le poids de Paul et Agathe testés est égal à “Paul”
# Nous pouvons combiner les comparaisons FALSE TRUE FALSE FALSE
# Nous demandons que le nom de l’élément soit égal à Paul OU à Agathe
> names(poids) == “Paul” | names(poids) == “Agathe” [Link] seconde retourne
[1] FALSE TRUE FALSE TRUE également un vecteur de
> booléens
FALSE FALSE FALSE TRUE
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
[Link] première comparaison
> names(poids) retourne un vecteur de booléens
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe” signifiant quels élément sont
# Nous voulons le poids de Paul et Agathe supérieur ou égal à 60
# Nous pouvons combiner les comparaisons TRUE TRUE FALSE TRUE
# Nous demandons que le nom de l’élément soit égal à Paul OU à Agathe
> names(poids) == “Paul” | names(poids) == “Agathe” [Link] seconde retourne
[1] FALSE TRUE FALSE TRUE également un vecteur de
# un autre exemple de combinaison booléens signifiant les éléments
# Nous demandons que le poids soit compris entre 60 et 70 inférieurs ou égal à 70
> poids >=60 & poids <= 70 TRUE FALSE TRUE TRUE
[1] TRUE FALSE FALSE TRUE
[Link] comparaison totale veut
que la valeur soit TRUE dans la
première comparaison ET
TRUE dans la seconde
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
[Link] première comparaison
> names(poids) retourne un vecteur de booléens
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe” signifiant quels élément sont
# Nous voulons le poids de Paul et Agathe supérieur ou égal à 60
# Nous pouvons combiner les comparaisons TRUE TRUE FALSE TRUE
# Nous demandons que le nom de l’élément soit égal à Paul OU à Agathe
> names(poids) == “Paul” | names(poids) == “Agathe” [Link] seconde retourne
[1] FALSE TRUE FALSE TRUE également un vecteur de
# un autre exemple de combinaison booléens signifiant les éléments
# Nous demandons que le poids soit compris entre 60 et 70 inférieurs ou égal à 70
> poids >=60 & poids <= 70 TRUE FALSE TRUE TRUE
[1] TRUE FALSE FALSE TRUE
[Link] comparaison totale veut
que la valeur soit TRUE dans la
première comparaison ET
TRUE dans la seconde
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe”
# Nous voulons changer le second élément par “Jacques”
# Accédons au second élément
>
Introduction au langage R
Filtrage grâce aux masques booléens
Ceci nous ouvre beaucoup de possibilités car nous pouvons utiliser les comparaisons vues
précédemment et des nouvelles ...
[Link] première comparaison
> names(poids) retourne un vecteur de booléens
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe” signifiant quels élément sont
# Nous voulons le poids de Paul et Agathe supérieur ou égal à 60
# Nous pouvons combiner les comparaisons TRUE TRUE FALSE TRUE
# Nous demandons que le nom de l’élément soit égal à Paul OU à Agathe
> names(poids) == “Paul” | names(poids) == “Agathe” [Link] seconde retourne
[1] FALSE TRUE FALSE TRUE également un vecteur de
# un autre exemple de combinaison booléens signifiant les éléments
# Nous demandons que le poids soit compris entre 60 et 70 inférieurs ou égal à 70
> poids >=60 & poids <= 70 TRUE FALSE TRUE TRUE
[1] TRUE FALSE FALSE TRUE
> poids[poids >=60 & poids <= 70] [Link] comparaison totale veut
Pierre Agathe que la valeur soit TRUE dans la
première comparaison ET
67 60
TRUE dans la seconde
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe”
# Nous voulons changer le second élément, “Paul” par “Jacques”
# Accédons au second élément
> individus[2] # ou individus[individus == “Paul”]
[1] “Paul”
# Il suffit alors d’affecter la valeur que l’on désire
>
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Paul” ”Jeanne” ”Agathe”
# Nous voulons changer le second élément, “Paul” par “Jacques”
# Accédons au second élément
> individus[2] # ou individus[individus == “Paul”]
[1] “Paul”
# Il suffit alors d’affecter la valeur que l’on désire
> individus[2] ← “Jacques”
# Cette modification est définitive,
# nous ne pouvons pas récupérer la valeur qui a été écrasée
> individus
[1] “Pierre” ”Jacques” ”Jeanne” ”Agathe”
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Jacques” ”Jeanne” ”Agathe”
# Nous voulons changer maintenant les 2 derniers prénoms par Caroline et Nadine
>
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Jacques” ”Jeanne” ”Agathe”
# Nous voulons changer maintenant les 2 derniers prénoms par Caroline et Nadine
> individus[3:4] ← c(“Caroline”, “Nadine”)
> individus
[1] “Pierre” ”Jacques” ”Caroline” ”Nadine”
# Que se passe-t’il si nous affectons un vecteur plus court ? Par exemple “Nadine”
> individus[3:4] ← “Nadine”
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Jacques” ”Jeanne” ”Agathe”
# Nous voulons changer maintenant les 2 derniers prénoms par Caroline et Nadine
> individus[3:4] ← c(“Caroline”, “Nadine”)
> individus
[1] “Pierre” ”Jacques” ”Caroline” ”Nadine”
# Que se passe-t’il si nous remplaçons par seulement Nadine ?
> individus[3:4] ← “Nadine”
> individus Nous appelons ça le recyclage.
[1] “Pierre” ”Jacques” ”Nadine” ”Nadine” Nous y reviendrons plus tard
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Jacques” ”Jeanne” ”Agathe”
# Nous voulons changer maintenant les 2 derniers prénoms par Caroline et Nadine
> individus[3:4] ← c(“Caroline”, “Nadine”)
> individus
[1] “Pierre” ”Jacques” ”Caroline” ”Nadine”
# Que se passe-t’il si nous affectons un vecteur plus court ? Par exemple “Nadine”
> individus[3:4] ← “Nadine”
# Que se passe-t’il si nous affectons un vecteur plus long ?
> individus[3:4] ← rep(“Nadine”,3)
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
> individus
[1] “Pierre” ”Jacques” ”Jeanne” ”Agathe”
# Nous voulons changer maintenant les 2 derniers prénoms par Caroline et Nadine
> individus[3:4] ← c(“Caroline”, “Nadine”)
> individus
[1] “Pierre” ”Jacques” ”Caroline” ”Nadine”
# Que se passe-t’il si nous remplaçons par seulement Nadine ?
> individus[3:4] ← “Nadine”
# Que se passe-t’il si nous affectons un vecteur plus long ?
> individus[3:4] ← rep(“Fred”,3)
Warning message:
In individus[3:4] <- rep("Fred", 3) :
le nombre d'objets à remplacer n'est pas multiple de la taille du remplacement
> individus
[1] “Pierre” ”Jacques” ”Fred” ”Fred”
Introduction au langage R
Modifier les éléments d’un vecteur
Pour modifier certains éléments d’un vecteur nous utilisons les indices !
Utilisons le vecteur individus que nous avons créé précédemment. Si vous ne l’avez pas vous pouvez
affecter les noms du vecteur poids à une nouvelle variable individus
Introduction au langage R
Manipuler les vecteurs
Pour illustrer cette partie, nous allons utiliser un objet R, [Link], présent dans le répertoire data.
Cet objet contient 2 vecteurs, weight et groups spécifiant le poids de plantes ayant subi ou non un
traitement.
Pour cela, nous allons utiliser la fonction load() qui prend en argument le chemin vers le fichier à charger.
Introduction au langage R
Manipuler les vecteurs
Pour illustrer cette partie, nous allons utiliser un objet R, [Link], présent dans le répertoire data.
Cet objet contient 2 vecteurs, weight et groups spécifiant le poids de plantes ayant subi ou non un
traitement.
Pour cela, nous allons utiliser la fonction load() qui prend en argument le chemin vers le fichier à charger.
Introduction au langage R
Manipuler les vecteurs
Pour illustrer cette partie, nous allons utiliser un objet R, [Link], présent dans le répertoire data.
Cet objet contient 2 vecteurs, weight et groups spécifiant le poids en kg de plantes ayant subi ou non un
traitement.
Pour cela, nous allons utiliser la fonction load() qui prend en argument le chemin vers le fichier à charger.
Introduction au langage R
Manipuler les vecteurs
En regardant les valeurs du vecteur weight, il apparaît qu’elles sont petites et qu’il serait plus approprié de
les transformer en gramme en les multipliant toutes par 100
# transformer en gramme
>
Introduction au langage R
Manipuler les vecteurs
En regardant les valeurs du vecteur weight, il apparaît qu’elles sont petites et qu’il serait plus approprié de
les transformer en gramme en les multipliant toutes par 100
# transformer en gramme
> weight ← weight*100 il s’agit ici encore de
recyclage, R utilise le
>
vecteur le plus court et le
recycle jusqu’à obtenir la
longueur du vecteur le plus
long
Introduction au langage R
Manipuler les vecteurs
Après vérification, nous nous sommes aperçu que la balance c’est déréglée pour une mesure sur deux ce
qui entraîne un écart de 0.1 gramme de trop sur les mesures d’index pair
# transformer en gramme
> weight ← weight*100 il s’agit ici encore de
recyclage, R utilise le
# Grâce à nos connaissances nous savons le faire de
vecteur le plus court et le
# plusieurs manières, ici utilisons le recyclage
recycle jusqu’à obtenir la
>
longueur du vecteur le plus
long
Introduction au langage R
Manipuler les vecteurs
Après vérification, nous nous sommes aperçu que la balance c’est déréglée pour une mesure sur deux ce
qui entraîne un écart de 0.1 gramme de trop sur les mesures d’index pair
# transformer en gramme
> weight ← weight*100 il s’agit ici encore de
recyclage, R utilise le
# Grâce à nos connaissances nous savons le faire de
vecteur le plus court et le
# plusieurs manières, ici utilisons le recyclage
recycle jusqu’à obtenir la
> weight ← weight - c(0,0.1)
longueur du vecteur le plus
>
long
Introduction au langage R
Manipuler les vecteurs
Après vérification, nous nous sommes aperçu que la balance c’est déréglée pour une mesure sur deux ce
qui entraîne un écart de 0.1 gramme de trop sur les mesures d’index pair
# transformer en gramme
> weight ← weight*100 il s’agit ici encore de
recyclage, R utilise le
# Grâce à nos connaissances nous savons le faire de
vecteur le plus court et le
# plusieurs manières, ici utilisons le recyclage
recycle jusqu’à obtenir la
> weight ← weight - c(0,0.1)
longueur du vecteur le plus
>
long
vecteur après soustraction 4.17 5.48 5.18 6.01 4.50 4.51 5.17
Introduction au langage R
Manipuler les vecteurs
Nous allons voir une série de fonctions très souvent utilisées pour la manipulation de données
Introduction au langage R
Manipuler les vecteurs
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
Introduction au langage R
Manipuler les vecteurs
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
Introduction au langage R
Manipuler les vecteurs
numeric
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4
vector
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
duplicated()
2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
duplicated()
logical vector 2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
F F F T T T T F T T T
Introduction au langage R
Manipuler les vecteurs
numeric length()
vector
of 1 4 5 7 2 6 10 11 8 3 9
indexes
order() unique()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
duplicated()
logical vector 2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
F F F T T T T F T T T
Introduction au langage R
Manipuler les vecteurs
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
duplicated()
logical vector 2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
F F F T T T T F T T T
Introduction au langage R
Manipuler les vecteurs
table()
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
duplicated()
logical vector 2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
F F F T T T T F T T T
Introduction au langage R
Manipuler les vecteurs
table() 4 4 1 2
numeric 1 2 3 4 5 6 7 8 9 10 11
vector 1 2 4 1 1 2 1 3 4 2 2
count table
sort()
sorted
numeric 1 1 1 1 2 2 2 2 3 4 4 rev()
vector
duplicated()
logical vector 2 2 4 3 1 2 1 1 4 2 1
reversed numeric vector
F F F T T T T F T T T
Introduction au langage R
Manipuler les vecteurs
1. Sachant que les éléments du vecteur groups correspondent aux éléments du vecteur weight,
créer 1 vecteur par groupe contenant les poids correspondant.
1. Chaque groupe contient en fait les mêmes individus plante1, plante2 etc. Constituer un vecteur
contenant l’identifiant des plantes et l’affecter aux éléments de chaque groupe.
Introduction au langage R
Manipuler les vecteurs
#3. Sachant que les éléments du vecteur groups correspondent aux éléments du vecteur
weight, créer 1 vecteur par groupe contenant les poids correspondant.
ctrl <- weight[groups=="ctrl"]
trt1 <- weight[groups=="trt1"]
trt2 <- weight[groups=="trt2"]
#4. Chaque groupe contient en fait les mêmes individus plante1, plante2 etc. Constituer
un vecteur contenant l’identifiant des plantes et l’affecter aux éléments de chaque groupe.
identifiants <- paste("plante",1:length(ctrl),sep="")
names(ctrl) <- names(trt1) <- names(trt2) <- identifiants
Introduction au langage R
Un peu de statistique de base
Introduction au langage R
Analyser la distribution d’un vecteur : le centre
Une distribution est définie par différentes mesures comme par exemple la médiane ou la variance.
Introduction au langage R
Attention aux NA
Comme nous l’avons vu plus tôt, nous ne pouvons pas faire de calcul avec des éléments de type NA, or il y
en a souvent dans nos données.
Il y a plusieurs façon de les éviter, le tout est de toujours y penser.
Introduction au langage R
Analyser la distribution d’un vecteur: la dispersion
Comment sont organisées les valeurs par rapport à ce centre ?
C’est ce qu’on appelle dispersion par rapport à la moyenne ou la médiane: la valeur maximale, la
valeur minimale, les quantiles, la variance ou encore l'écart type.
# Les quantiles, par défaut la distribution est divisée en 4 parties égales (les quartiles)
densité de
distribution
boxplot
[Link]
Introduction au langage R
Analyser la distribution d’un vecteur: la dispersion
# Les quantiles, par défaut la distribution est divisée en 4 parties égales (les quartiles)
> quantile(weight)
0% 25% 50% 75% 100%
3.4900 4.5025 5.1000 5.4600 6.3100
# Nous pouvons récupérer la médiane (séparation en 2 parties égales)
> quantile(weight)[“50%”]
50%
5.1
# Nous pouvons séparer en 10 parties égales (les déciles)
> quantile(weight,probs=seq(0,1,0.1))
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
3.490 4.160 4.426 4.566 4.876 5.100 5.184 5.379 5.592 6.012 6.310
# très utile pour se rendre compte si il y a des outliers
> quantile(c(weight,1000),probs=seq(0,1,0.1))
0% 10% 20% 30% 40% 50% 60% 70% 80%
90% 100%
3.49 4.17 4.43 4.59 4.92 5.16 5.19 5.40 5.80
6.03 1000.00
Introduction au langage R
Analyser la distribution d’un vecteur: la dispersion
Comment sont organisées les valeurs par rapport à ce centre ?
C’est ce qu’on appelle dispersion par rapport à la moyenne ou la médiane: la valeur maximale, la
valeur minimale, les quantiles, la variance ou encore l'écart type.
Introduction au langage R
Analyser la distribution d’un vecteur: la dispersion
Comment sont organisées les valeurs par rapport à ce centre ?
C’est ce qu’on appelle dispersion par rapport à la moyenne ou la médiane: la valeur maximale, la
valeur minimale, les quantiles, la variance ou encore l'écart type.
# écart type
> sd(weight) mean(), sd(), var() sont très
[1] 0.7110078 sensibles aux valeurs
# variance qui est égal à l’écart type au carré extrêmes.
> var(weight) Il faut en tenir compte lors de
[1] 0.5055321 l’utilisation de ces calculs.
# l’IQR: inter quartiles range Certains tests statistiques ne
> IQR(weight) fonctionnent que si la
[1] 0.9575 distribution de vos données
# centrer-réduire ou z-score: nombre d’écart types à la moyenneest normale et ne contient
> zscore <- (weight - mean(weight)) / sd(weight) pas/plus d’outliers.
> zscore
[1] -1.199705572 0.642749644 0.220813335 1.388170456 -0.735575632 -0.721511088 0.206748791 -0.834027437
[9] 0.431781489 0.023909724 -0.299574779 -1.340351008 -0.862156525 -2.156094539 1.191266845 -1.818545491
[17] 1.416299544 -0.327703867 -0.988737417 -0.608994739 1.810106765 -0.004219363 0.727136906 0.530233295
[25] 0.488039664 0.234877879 -0.144864799 1.444428631 1.092815040 0.192684248
Introduction au langage R
Nous avons appris ...
Introduction au langage R
Que fait ce code ? Décrypter et commenter.
[Link] <- c(seq(440,2,-20),310)
names([Link]) <- c(1:22,"X")
Introduction au langage R
Que fait ce code ? Décrypter et commenter.
Introduction au langage R
Combiner les variables : structures complexes
classe Description
Introduction au langage R
Qu’est ce qu’un facteur ?
- Les facteurs sont des vecteurs mais avec des propriétés qui leurs sont propres.
- On va pouvoir utiliser des fonctions (length(), names(), head(), tail()) et des manipulations
(extraire grâce aux indices, filtrer) que nous connaissons déjà.
- On y stocke des éléments qualitatifs qui ont une valeur descriptive et non numérique. Les
opérations mathématiques sont donc impossibles.
- Les éléments peuvent-être de types différents mais seront interprétés comme des catégories
- Un nouvel attribut : les niveaux qui est un vecteur qui contient l’ensemble des valeurs
possibles qui peuvent être présentes dans le facteur
Introduction au langage R
Pourquoi utilise-t’on un facteur ?
- mais ils peuvent apparaître à la suite de différentes manipulations alors que vous
penserez manipuler des vecteurs.
Introduction au langage R
Créer un facteur avec factor()
Imaginons que nous ayons des données portant sur le niveau de maitrise en R collectées à la fin
d’une formation du CNRS .
Introduction au langage R
Créer un facteur avec factor()
Imaginons que nous ayons des données portant sur le niveau de maitrise en R collectées à la fin
d’une formation du CNRS .
# On affiche
> Rlevel
[1] moyen faible fort fort faible
Levels: faible moyen fort NC
Si l’on spécifie les
niveaux, l’ordre est
alors imposé
Introduction au langage R
Comment feriez vous ?
Introduction au langage R
Niveaux d’un facteur : levels()
# On re-crée le facteur
> Rlevel <- factor(c( "moyen", "faible", "fort" , "fort" , "faible"))
# ajouter un niveau
> levels(Rlevel) <- c(levels(Rlevel),"NC")
Introduction au langage R
Encodage des facteurs
2 1 3 3 1
vecteur moyen faible fort fort faible
Rlevel
1 2 3
niveaux faible moyen fort
Introduction au langage R
Encodage des facteurs
2 1 3 3 1
vecteur moyen faible fort fort faible
Rlevel
1 2 3
niveaux faible moyen fort
Introduction au langage R
Encodage des facteurs
2 1 3 3 1
vecteur moyen faible fort fort faible
Rlevel
1 2 3
niveaux faible moyen fort
Introduction au langage R
Encodage des facteurs
2 1 3 3 1
vecteur moyen faible fort fort faible
Rlevel
1 2 3
niveaux faible moyen fort
Introduction au langage R
Encodage des facteurs
2 1 3 3 1
vecteur moyen faible fort fort faible
Rlevel
1 2 3
niveaux faible moyen fort
Introduction au langage R
Du facteur au vecteur et vice-versa
# Créons un facteur contenant les données pour 5 personnes
> Rlevel <- factor(c( "moyen", "faible", "fort" , "fort" , "faible"))
> names(Rlevel) <- paste( "stagiaire",1:5,sep="")
# On veut d’abord tester si notre objet est un facteur (comme pour les types,
# il existe pour les classes les fonctions is.)
> [Link](Rlevel)
[1] TRUE
# Transformons le en vecteur (comme pour les types, il existe pour les classes les fonctions as.)
> Rlevel<- [Link](Rlevel) # c’est une opération que nous faisons très souvent
> Rlevel
[1] "moyen" "faible" "fort" "fort" "faible"
Introduction au langage R
Le cas des numériques ...
# Créons un facteur contenant quelques nombre
> [Link] <- factor(c(12,4,68,6))
> [Link]
[1] 12 4 68 6
Levels: 4 6 12 68
# transformons le en vecteur
> [Link]([Link])
[1] "12" "4" "68" "6"
# Nous avons un vecteur de chaînes de caractères … essayons avec [Link]()
> [Link]([Link])
[1] 3 1 4 2
# Que s’est-il passé ? -> ce sont les indices des niveaux correspondant qui ont été retournés …
# La solution ?
> [Link]([Link]([Link]))
[1] 12 4 68 6
Introduction au langage R
Nous avons appris ...
- Que les facteurs sont des vecteurs avec les niveaux qui définissent les valeurs possibles
des éléments du vecteur
- Que les éléments sont encodés par les indices des niveaux et qu’il est alors possible de
modifier seulement les niveaux pour changer toutes les valeurs du vecteur
- Que la conversion en vecteur est souvent appropriée mais qu’il faut faire attention à la
conversion en numériques
Introduction au langage R
Chapitre
Les Fonctions2
Quand créons-nous des fonctions ?
- En analyse de données, nous créons des fonctions lorsque le code que nous
avons écrit est utilisé plusieurs fois et que nous commençons à le dupliquer
pour changer telle ou telle valeur. On automatise les traitements.
Introduction au langage R
Rappel
Informations dont la
fonction à besoin
pour travailler
Mêmes règles que
pour le choix du
nom des variables
nom_de_la_fonction( arguments )
Les parenthèses
indiquent que nous
appelons une fonction
Introduction au langage R
Rappel
Introduction au langage R
Création de fonction avec function()
P240_nb_rep x pi T
[Link]
return(res) }
> ajoute2 function()
function(val){ res=val+2; return(res) } {}
> class(ajoute2)
[1] "function"
# J’appelle ma fonction
> ajoute2()
En R, une fonction est
un objet avec un nom
occupant un espace
défini de la mémoire
console
Introduction au langage R
Création de fonction avec function()
P240_nb_rep x pi T
[Link]
> val
Erreur : objet 'val' introuvable function()
{}
>ajoute2(x)
[1] 7
console
Introduction au langage R
Création de fonction avec function()
P240_nb_rep x pi T
[Link]
res=val+2; return(res) }
function()
{}
# fonction anonyme
>aggregate(formula = . ~ Species,
data = iris, FUN = max)
Introduction au langage R
Création de fonction avec function()
A vous de jouer : définir une fonction qui calcule le
périmètre et l’aire d’un rectangle
P240_nb_rep x pi T
3.1415
4 3 TRUE
93
[Link]
function()
?
{}
console
Introduction au langage R
Instructions supplémentaires
Dans certains cas on peut aussi avoir besoin de tests conditionnels (si / sinon) ou de faire
des boucles sur des données dans un vecteur.
Introduction au langage R
Création de fonction avec function()
A vous de jouer : définir une fonction qui calcule le
périmètre et l’aire d’un rectangle
P240_nb_rep x pi T
[Link]
si c’est un carré
function()
{}
?
console
Introduction au langage R
Comment feriez-vous ?
On souhaite créer une fonction qui le pourcentages de chaque valeur dans un vecteur.
L’argument doit être un vecteur de chaines de caractères
Le retour doit être un tableau
Introduction au langage R
Nous avons appris ...
- Comment organiser et manipuler des variables dans des objets de classe vecteur et facteur
Introduction au langage R