Académique Documents
Professionnel Documents
Culture Documents
1
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
5 Objectif de ce T.P.
Ce T.P. a pour objectif de vous montrer les commandes de base de R (ouverture,
fermeture, sauvergarde, aide,. . . ) et de vous faire manipuler des tableaux de données
(saisie sous R, importation de fichier de données, opérations, . . . ).
2
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
3
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Remarque : vous verrez bientôt comment installer très facilement les packages
disponibles sur le site du CRAN directement depuis R.
Lorsque vous aurez besoin de packages qui ne sont pas installés par défaut pour
réaliser les analyses statistiques qui vous seront demandées dans les exercices, cela
vous sera signalé. Il faudra alors installer ces packages supplémentaires sur votre
ordinateur. Beaucoup de bibliothèques contiennent un ou plusieurs documents dé-
taillant leurs fonctionnalités et montrant leur application pas à pas à un exemple.
Pour obtenir la liste des vignettes présentes sur votre ordinateur, il suffit d’exécuter
la commande vignette().
>
Puis sous ce texte, le symbole rouge >, appelé prompt, apparaît également.
Il signifie que R est prêt à travailler.
C’est à la suite de ce symbole > que vous pourrez taper les commandes R. Une
fois la commande tapée, vous devez toujours la valider par la touche Entrée.
Remarque : Il ne faut jamais taper ce symbole au clavier car il est déjà
présent en début de ligne sur la fenêtre R Console.
Remarque : Si votre commande est incomplète, le symbole > est remplacé
par +. Ce symbole + signifie que R attend la suite de la commande. Si vous
ne savez pas compléter la ligne de commande ou qu’elle présente une erreur
4
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
[1] 7
En mode console, vous pouvez faire défiler le texte avec la touche « Entrée »
ou « Flèche vers la bas ». Une fois arrivé à « END », taper q. La plupart du
temps, une page d’aide au format html s’affichera. Grâce à cette aide, il suffit
de retenir le nom de la commande, mais pas toute la syntaxe.
Vous pouvez aussi utiliser la fonction read.table
help(read.table)
1. Par exemple dans le résultat suivant l’indice de l’élément 123 est 1 et celui de 142 est 20
[1] 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
[20] 142 143 144 145
5
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
60
40
20
0
5 10 15 20 25
Speed
6
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
120
100
80
Distance
60
40
20
0
5 10 15 20 25
Speed
7
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
1.0
1.0
1.0
0.5
0.5
0.5
0.0
0.0
0.0
y
y
−0.5
−0.5
−0.5
−1.0
−1.0
−1.0
0 2 4 6 8 10 12 0 2 4 6 8 10 12 0 2 4 6 8 10 12
x = "c")
plot(*, type x = "o")
plot(*, type x = "h")
plot(*, type
1.0
1.0
1.0
0.5
0.5
0.5
0.0
0.0
0.0
y
y
−0.5
−0.5
−0.5
−1.0
−1.0
−1.0
0 2 4 6 8 10 12 0 2 4 6 8 10 12 0 2 4 6 8 10 12
x = "s")
plot(*, type x = "S")
plot(*, type x = "n")
plot(*, type
lines(*, type = "s", ...)
1.0
1.0
1.0
0.5
0.5
0.5
0.0
0.0
0.0
y
y
−0.5
−0.5
−0.5
−1.0
−1.0
−1.0
0 2 4 6 8 10 12 0 2 4 6 8 10 12 0 2 4 6 8 10 12
x x x
plot> par(op)
plot> op <- par(mfrow = c(2,1), mar = par("mar")-c(1,0,2,0), mgp = c(2, .7, 0))
plot> plot(10^lx, y, log = "xy", type = "o", pch = ".", col = "forestgreen",
plot+ main = "Log-Log plot with custom axes", ylab = yl, xlab = "x",
plot+ axes = FALSE, frame.plot = TRUE)
8
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Log−Log plot
1e−01
2
e−2log10(x)
1e−03
1
1e−05
10−1
10−2
2
e−2log10(x)
10−3
1
10−4
10−5
plot> par(op)
Vous pouvez rappeler les commandes déjà éxécutées (pendant cette séance) en uti-
lisant la touche « Flèche vers le haut ».
9
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
8.1 Affectation
Un objet peut être créé avec l’opérateur « assigner » ou « affecter » qui s’écrit <- :
n<-15
N<-12
Pour vérifier le contenu d’un objet, taper son nom, par exemple pour n :
n
[1] 15
Remarques :
• R différencie les lettres minuscules et les lettres majuscules.
• Quand on assigne un nom à un objet, l’affichage de cet objet n’est plus au-
tomatique, il faut le demander en tapant simplement le nom donné à l’objet.
• En fait, on peut remarquer que le signe = marche également pour faire des
affectations. Essayer :
a=3
a
[1] 3
8.2 Suite
Premier exemple. Vous souhaitez créer la suite d’entiers de 1 à 12 :
Première façon
suite <- 1:12
suite
[1] 1 2 3 4 5 6 7 8 9 10 11 12
Deuxième façon
La fonction seq crée une suite (séquence) de nombres et possèdent trois arguments :
from, to et by.
Le premier, noté from par R, est celui qui indique d’où part la suite, le deuxième,
noté to par R indique la fin de la suite et le troisième et dernier, noté by par R,
mentionne le pas de la progression également appelé raison. La suite d’entiers allant
de a à b en avançant par pas de k est créée par la ligne de commande suivante :
seq(from=a,to=b,by=k)
Remarque : ne tapez pas cette ligne de commande en l’état. Il faut que vous
remplaciez les valeurs a, b et k par celles que vous avez choisies.
Remarque : seq peut créer une suite d’entiers mais aussi une suite de réels ce que
ne fait pas l’opérateur ":". En fait, ":" est un cas particulier de la fonction seq avec
un pas toujours égal à 1.
10
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
seq(from=1,to=12,by=1)
[1] 1 2 3 4 5 6 7 8 9 10 11 12
seq(1,12,1)
[1] 1 2 3 4 5 6 7 8 9 10 11 12
Second exemple. Vous souhaitez créer un vecteur formé par les éléments d’une
suite arithmétique de premier terme 20, de dernier terme 40 et de raison 5, on
utilise encore la fonction seq :
seq(from=20,to=40,by=5)
[1] 20 25 30 35 40
serie1<-c(1.2,36,5.33,-26.5)
serie1
Que remarquez-vous ?
Deuxième exemple.
serie2<-c("bleu","vert","marron")
serie2
11
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
serie2<-c(bleu,vert,marron)
Troisième exemple.
serie3<-c(TRUE,TRUE,FALSE,FALSE,TRUE)
serie3
Quatrième exemple.
Lors d’une étude statistique, il peut arriver que certaines données ne soient pas
disponibles : on dit que la donnée est manquante. Pour saisir une donnée man-
quante, on utilise le symbole NA (Not Available) que l’objet soit numérique, caractère
ou logique :
serie4<-c(1.2,36,NA,-26.5)
serie4
mode(serie1)
[1] "numeric"
mode(serie2)
[1] "character"
mode(serie3)
[1] "logical"
12
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
length(serie1)
[1] 4
length(serie2)
[1] 3
length(serie3)
[1] 5
jeu1<-scan()
R vous redonne la main et vous pouvez taper les valeurs du jeu de données :
1:1.2
2:36
3:5.33
4:-26.5
Vous devez taper 1.2 après l’invite 1: et ainsi de suite. Le premier retour-chariot
après une chaîne vide met fin à la saisie.
5:
jeu1
serie1[3]
[1] 5.33
13
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
serie1[c(1,3)]
x <- c(2.3,3.5,6,14,12)
y <- c(3.2,5,0.7,1,3.5)
z <- c(x,y)
z
[1] 2.3 3.5 6.0 14.0 12.0 3.2 5.0 0.7 1.0 3.5
[1] 6 14 12
14
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
y[x>4]
(x+y)/2
Premier exemple :
Si vous voulez remplacer la 3ème valeur de x par 35, vous utiliserez alors la ligne de
commande suivante :
x[3] <- 35
[1] 1 2 35 4 5 6 7 8 9 10
Deuxième exemple :
Si vous voulez remplacer la valeur 1 par la valeur 25, vous utiliserez alors la ligne
de commande suivante :
x[x==1] <- 25
[1] 25 2 35 4 5 6 7 8 9 10
Troisième exemple :
Si vous voulez remplacer toutes les valeurs supérieures ou égales à 5 par 20, vous
utiliserez alors la ligne de commande suivante :
15
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
x[x>=5] <- 20
[1] 20 2 20 4 20 20 20 20 20 20
Si vous voulez qu’un nouveau vecteur contienne deux fois le vecteur donnees, alors
vous écrirez :
rep(x=donnees,times=2)
[1] 1 2 3 1 2 3
rep(1,50)
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[34] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
rep("chien",4)
16
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Seconde façon :
Une autre façon de nommer les composantes d’un vecteur est de définir un vecteur
formé de chaînes de caractères, puis utiliser la fonction names :
17
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
sort(note)
rev(sort(note))
[1] 1 2 3 4 5 6 7 8 9 10 11 12
suite > 6
[1] FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
[12] TRUE
18
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
[1] TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
[12] FALSE
[1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
[12] FALSE
[1] FALSE
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[1] TRUE
Enfin voici pour mémoire les tables de vérité des opérateurs logiques. Celles-ci
explicitent également le comportement des opérateurs en cas de valeurs manquantes.
19
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
matrice1<-matrix(1:12,ncol=3)
matrice1
matrice2<-matrix(1:12,ncol=3,byrow=TRUE)
matrice2
Vous avez également la possibilité d’attribuer des noms aux lignes et aux colonnes
d’une matrice via l’option dimnames que vous ajouterez dans la fonction matrix.
Ces noms doivent être de type character.
Remarque : tapez la ligne de commande suivante :
class(matrice2)
Donc matrice2 est une matrice. Appliquez la fonction length à cette matrice :
length(matrice2)
[1] 12
dim(matrice2)
[1] 4 3
20
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
dim vous renvoie le nombre de lignes et de colonnes qui forment la matrice, c’est-à-
dire 4 et 3. Notez que 4 fois 3 est égal à 12, le nombre d’éléments de la matrice.
Sur une matrice, il y a une différence entre la fonction length et la fonction dim.
Comme pour les vecteurs, R recycle les éléments du vecteur utilisé lors de la création
d’une matrice.
matrice3<-matrix(1:12,nrow=4,ncol=4)
matrice3
mat1
nom_matrice[i,j]
matrice3[3,3]
[1] 11
21
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
nom_matrice[i,]
matrice3[3,]
[1] 3 7 11 3
Pour sélectionner la colonne j d’une matrice, vous devez utiliser la ligne de com-
mande suivante :
nom_matrice[,j]
matrice3[,3]
[1] 9 10 11 12
Remarque : R vous renvoie, par défaut toujours le résultat sous la forme d’un
vecteur même si c’est une colonne que vous avez demandé à extraire. Si vous voulez
que le résultat apparaisse sous forme d’une matrice à une ligne ou à une colonne,
vous devez utiliser l’argument drop=FALSE.
Exemple :
matrice3[,3,drop=FALSE]
[,1]
[1,] 9
[2,] 10
[3,] 11
[4,] 12
(matrice4<-matrice3[,c(2,4)])
[,1] [,2]
[1,] 5 1
[2,] 6 2
[3,] 7 3
[4,] 8 4
22
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Pour supprimer la première ligne ou la première colonne d’une matrice, il faut utiliser
soit nom_matrice[-1,] soit nom_matrice[,-1].
Exemple :
(matrice5<-matrice3[,-1])
[1] 4
[1] 3
Remarque : vous pouvez aussi obtenir ces deux informations en vous servant de
la fonction dim déjà rencontrée au début de ce chapitre.
Exemple :
dim(matrice5)
[1] 4 3
Vous pouvez aussi rajouter des lignes, avec la fonction rbind, ou des colonnes, avec
la fonction cbind, à une matrice existante, voire même concaténer des matrices.
Exemple :
rbind(matrice5,c(13:15))
23
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
cbind(matrice5,c(13:16))
matrice6<-matrix(1:6,ncol=3)
matrice6
matrice7<-matrix(1:12,ncol=4)
matrice7
24
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
matrice9<-matrix(7:12,ncol=3)
matrice9
25
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
matrice11<-matrice9*matrice6
matrice10<-matrice6*matrice9
le résultat aurait été le même. En effet, tapez les deux lignes suivantes :
matrice11<-matrice9*matrice6
matrice11
et vous obtenez :
le résultat obtenu n’aurait pas été le même. En effet, tapez la ligne de commande
suivante :
et vous obtenez :
Le tableau suivant donne les principales commandes utiles lorsque vous chercherez
à faire des calculs sur les matrices :
Fonction Description
t(nomm atrice) Transpose la matrice sur laquelle vous travaillez.
det(nomm atrice) Calcule le déterminant de la matrice sur laquelle vous travaillez.
solve(nomm atrice) Inverse la matrice sur laquelle vous travaillez.
eigen(nomm atrice) Diagonalise la matrice sur laquelle vous travaillez.
26
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
11 Les fonctions de R
Les objets importants à connaître sous R sont les fonctions. Elles vous rendront des
services pour faire vos analyses statistiques. En fait, vous les avez déjà rencontrées
tout au long de ce chapitre sans le savoir.
11.1 Généralités
Une fonction se distingue facilement des objets que vous avez déjà rencontrés. En
effet, pour se servir d’une fonction il faut faire suivre son nom de parenthèses qui
contiennent des informations nécessaires à l’exécution de la fonction.
Exemple : class, mode, length, dim et str qui sont les fonctions principales pour
caractériser un objet.
Pour afficher le contenu d’une fonction, il suffit de taper le nom de la fonction sans
les parenthèses.
Exemple :
mode
function (x)
{
if (is.expression(x))
return("expression")
if (is.call(x))
return(switch(deparse(x[[1L]])[1L], `(` = "(", "call"))
if (is.name(x))
"name"
else switch(tx <- typeof(x), double = , integer = "numeric",
closure = , builtin = , special = "function", tx)
}
<bytecode: 0x7fe1b9335470>
<environment: namespace:base>
27
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
prendre deux formes : obligatoire ou optionnelle. Une fonction peut avoir plusieurs
arguments et chacun est séparé par une virgule.
Remarque : vous avez déjà rencontré ce terme arguments dans précédemment
lorsque la fonction seq a été introduite ainsi que la fonction rep et enfin dans le
paragraphe sur les matrices. En effet, la fonction seq a besoin de trois arguments
pour s’exécuter et chacun est séparé par une virgule. Même remarque pour la
fonction rep où à la place de trois il faut mettre deux. Et enfin, la fonction matrix
a besoin de deux arguments pour s’exécuter et chacun est séparé par une virgule.
D’autre part, la fonction args renvoie les arguments d’une fonction.
Exemple :
args(matrix)
Ici la fonction est aov, la réponse est Sepal.Length, ici il n’y a qu’un prédicteur
qui est Species et le tableau de données est iris. Cette fonction sert à réaliser une
analyse de la variance à un facteur, comme vous le verrez peut-être lors de cours de
d’analyse de données ou de data science.
aov(Sepal.Length~Species,data=iris)
Call:
aov(formula = Sepal.Length ~ Species, data = iris)
Terms:
Species Residuals
Sum of Squares 63.21213 38.95620
Deg. of Freedom 2 147
28
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
mat<-c(19.6,17.6,18.2,16.0)
phy<-c(19.1,17.8,18.7,16.1)
res<-data.frame(mat,phy)
res
mat phy
1 19.6 19.1
2 17.6 17.8
3 18.2 18.7
4 16.0 16.1
Il est possible de donner des noms aux lignes du tableau de données avec l’option
row.names qui doit fournir un vecteur de mode caractère et de longueur égale au
nombre de lignes du tableau de données.
Exemple : le tableau de données ci-dessus correspond aux moyennes trimestrielles
de mathématiques et de sciences physiques qu’ont obtenu Guillaume, Valérie, Thomas
et Julie. Donc, vous tapez la ligne de commande suivante pour voir apparaître les
noms en face des quatre lignes :
res2<-data.frame(mat,phy,row.names=c("Guillaume","Val´erie", "Thomas","Julie"))
res2
29
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
mat phy
Guillaume 19.6 19.1
Val´erie 17.6 17.8
Thomas 18.2 18.7
Julie 16.0 16.1
Les fonctions cbind et rbind, qui ont été introduites dans le paragraphe sur les
matrices, s’utilisent aussi avec les tableaux de données.
Vous noterez aussi que les fonctions ncol et nrow, qui renvoient le nombre de
colonnes et le nombre de lignes, s’emploient également.
Enfin, il est possible d’utiliser les crochets pour extraire une sous-partie d’un tableau
de données. Ces derniers ont le même comportement que lorsqu’ils sont utilisés avec
des matrices.
Enfin, vous rencontrerez dans le paragraphe suivant la fonction read.table qui permet
de créer un tableau de données à partir des informations contenues dans un fichier
au format texte.
30
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
load("FichierpH.RData")
L’objet pH est à nouveau présent en mémoire et vous pouvez afficher son contenu :
pH
getwd()
[1] "/Users/fbertran/Documents/Enseignements/UTT/SY02"
Pour changer le répertoire de travail par défaut, pour la durée de la session R, pour,
par exemple, le répertoire "C:\Data", il suffit de taper :
setwd("C:\\Data")
ou de manière équivalente
setwd("C:/Data")
Pour des raisons liées à la syntaxe de R, plus précisément la syntaxe des systèmes
Unix, la barre oblique inversée "\" a été remplacée soit par une barre oblique "/"
soit par deux barres obliques inversées "\\".
31
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
read.table("table1.txt")
V1 V2
1 53.5 160
2 74.4 172
3 52.6 151
4 88.6 163
5 49.2 169
R affiche le tableau de données en numérotant les lignes et les colonnes, les lignes
correspondant aux individus et les colonnes aux variables. R affiche un message
d’avertissement concernant le nom des variables.
Vous pouvez également conserver la table comme un objet pour pouvoir la réutiliser
directement :
tab<-read.table("table1.txt")
tab
V1 V2
1 53.5 160
2 74.4 172
3 52.6 151
4 88.6 163
5 49.2 169
tab$V1
32
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
tab[1,c(1)]
[1] 53.5
ou
tab[1,1]
[1] 53.5
tab[1:2,1]
ou les éléments des deux premières lignes et des deux premières colonnes :
tab[1:2,1:2]
V1 V2
1 53.5 160
2 74.4 172
Pour travailler ensuite sur les variables de la table, vous pouvez leur attribuer un
nom (plus simple que la syntaxe utilisée) :
V1<-tab$V1
V2<-tab$V2
Si vous avez spécifié le nom des variables dans la première ligne de votre fichier
de données (comme dans le fichier table2.txt), vous devez l’indiquer par l’option
header=TRUE ou header=T :
read.table("table2.txt",header=TRUE)
Masse Taille
1 53.5 160
2 74.4 172
3 52.6 151
4 88.6 163
5 49.2 169
Par défaut, R lit la première ligne comme une ligne de données et nomment les
colonnes sous la forme V1, V2, . . . (comme pour table1.txt).
Par défaut, on utilise un point (.) pour les décimales. Mais si les décimales sont
notées par une virgule dans votre fichier de données (comme dans table3.txt), il
faut le spécifier par :
33
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
read.table("table3.txt",dec=",")
V1 V2
1 53.5 160
2 74.4 172
3 52.6 151
4 88.6 163
5 49.2 169
Par défaut, on utilise un espace pour séparer les valeurs appartenant à différentes
colonnes. Mais si les colonnes sont séparées par un point virgule dans votre fichier
de données (comme dans table4.txt), il faut le spécifier par :
read.table("table4.txt",sep=";")
V1 V2
1 53.5 160
2 74.4 172
3 52.6 151
4 88.6 163
5 49.2 169
Pour ouvrir un fichier de données sans avoir à indiquer son emplacement en utilisant
une boîte de dialogue conviviale :
read.table(file.choose())
Commençons avec les fichiers .csv. Il en existe deux types : anglo-saxon avec un
"." comme séparateur décimal et une "," comme séparateur de colonne et français
avec une "," comme séparateur décimal et un ";" comme séparateur de colonne. Le
premier se lit avec l’instruction
read.csv(file.choose())
read.csv2(file.choose())
install.packages("openxlsx")
library(openxlsx)
(data <- read.xlsx("table9.xlsx", colNames = TRUE, sheet = 1, startRow = 1))
Vous commencez par remarquer que nous avons dû installer un package d’extension
de R, le package openxlsx à l’aide de la commande install.packages("openxlsx").
Il ne faut pas oublier les " dans cette commande sinon elle ne fonctionne pas.
34
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
L’option colNames = TRUE indique que la première ligne du jeu de données contient
les noms des colonnes, la commande sheet = 1 signifie qu’il faut importer des
données de la première feuille du classeur excel.
Nous calculons le BMI de chacun des individus du jeu de données que nous stockons
dans la colonne BMI de l’objet data :
data
data$BMI
Si nous souhaitons mettre à jour le jeu de données data dans la feuille correspondante
du classeur excel "table9.xlsx" :
[1] TRUE
35
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
15 Fichiers scripts
15.1 R classique
Il est souvent plus pratique de composer le code R dans une fenêtre spécifique du
logiciel : la fenêtre de script.
Les entrées "Nouveau script" ou "Ouvrir un script" permettent de créer un nouveau
script de commandes R ou d’accéder à un ancien script sauvegardé lors d’une session
précédente d’utilisation du logiciel.
Pour exécuter des instructions à partir de la fenêtre de script il suffit de procéder
par copier-coller ou de se servir de raccourci clavier "ctrl+R".
Pour sauvegarder un script, il suffit, lorsque la fenêtre de script est active, de sélec-
tionner l’entrée "Sauver" du menu "Fichier".
Conseil : Écrire des scripts lisibles et commentés est une habitude à prendre dès
maintenant car cela vous rendra l’utilisation de R bien plus facile.
36
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
37
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Fonction Description
q() Quitte le logiciel
?fonction
ou Demande la fiche de documentation de la fonction
help(”fonction”)
help(package = Demande la fiche de documentation du package intitulé
”nomdupackage”) nomdupackage
install.packages( Installe le package intitulé nomdupackage
”nomdupackage”)
vignette( Liste les vignettes du package intitulé nomdupackage
”nomdupackage”)
scan() Saisit hh au clavier ii un jeu de données numériques.
getwd() Affiche le répertoire de travail dans la console.
setwd(Chemin) Définit Chemin comme répertoire de travail.
file.choose Permet de sélectionner facilement un fichier stocké
sur l’ordinateur avec une boîte de dialogue conviviale.
load(”file”) Charge en mémoire tous les objets contenus dans
le fichier file.
save(objet, Sauvegarde l’objet objet dans le fichier file.
file = ”file”) Il est possible de sauvegarder plusieurs objets dans le même fichier.
read.table read.table("file") - lit le fichier de données file ne contenant pas
les noms des variables en première ligne.
read.table("file",header=TRUE) - lit le fichier de données file
contenant les noms des variables en première ligne.
Exemple : t <- read.table$("table.txt",header=TRUE)
write.table( Écrit objet dans le fichier de
objet, ”file”) données "file".
read.csv read.csv("file") - lit un fichier de données file au format CSV
anglo-saxon.
write.csv( Écrit objet dans un fichier de données file au format CSV
objet, ”file”) anglo-saxon.
read.csv2(”file”) Lit un fichier de données file au format CSV français.
write.csv2( Écrit objet dans un fichier de données file au format CSV français.
objet, ”file”)
read.xlsx read.xlsx("file") - lit un fichier de données file au format excel
write.xlsx write.xlsx("file") - écrit un fichier de données file au format excel
source(”fichier”) Exécute le script contenu dans fichier.
Attention pour utiliser les fonctions read.xlsx et write.xlsx, il faut au préalable
charger le package openxlsx.
38
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Fonction Description
s <- valeur Initialise la variable s avec la valeur. Exemple : n<-5
s = valeur
rm(s) Supprime l’objet s.
mode(s) Affiche le mode (numérique, caractère,. . . ) de la variable s
class(s) Affiche la classe (data.frame,. . . ) de l’objet s.
length(s) Affiche le nombre d’éléments contenus dans la variable s
names(s) Renvoie les noms des éléments de s. Si s est une table, renvoie les
noms des colonnes.
Exemple : names(s)<-nom renomme les éléments de s en utilisant
les valeurs de la suite nom.
c(s1 , s2 , ..., sk ) Crée une suite en collant les s1 , s2 , ..., sk dans l’ordre.
Exemple : c(2:5,7,seq(8,9,0.5)) produit 2,3,4,5,7,8,8.5,9
n:m Crée une suite de nombres entiers de n à m.
seq(n, m, i) Crée une suite de nombres de n à m en incrémentant par i
Exemple : seq(2,4,0.5) produit la suite 2, 2.5, 3, 3.5, 4
rep(s, n) Crée une suite contenant n fois n .
Exemple : rep(c(1,2,3),2) donne 1,2,3,1,2,3
as.character(s) Transforme l’objet s en caractères.
as.list(s) Transforme l’objet s en liste.
as.logical(s) Transforme l’objet s en booléen.
as.numeric(s) Transforme l’objet s en numérique.
is.character(s) Teste si l’objet s est un caractère.
is.list(s) Teste si l’objet s est une liste.
is.logical(s) Teste si l’objet s est un booléen.
is.na(s) Teste si l’objet s a des valeurs manquantes.
is.numeric(s) Teste si l’objet s est numérique.
is.null(s) Teste si l’objet s est nul.
sort(s) Trier les composantes d’un vecteur par ordre croissant
rev(sort(s)) Trier les composantes d’un vecteur par ordre décroissant
s[I] Crée une suite composée des éléments de la suite s indexées par I. Ici I
peut être de la forme :
I est entier. Exemple : s[3] renvoie le 3ème élément de s
I est une suite. Exemple : s[3:5] renvoie les 3e, 4e et 5e éléments de s
I est une condition. Exemple : s[t>3] renvoie les éléments de la suite s
correspondants aux éléments de la suite t qui sont supérieurs à 3
s[−I] Crée une suite composée des éléments de la suite s qui sont
complémentaires à ceux indexés par I.
tab$col Renvoie la suite composée des éléments de la colonne col de la table tab.
Exemple : e<-amis$email initialise la variable e avec les valeurs de
la colonne email de la table amis.
39
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
Fonction Description
tail(s, n = k) Renvoie les k derniers éléments ou les dernières
lignes de l’objet s.
dim(s) Donne les dimensions de l’objet s.
nrow(s) Donne le nombre de lignes de l’objet s.
ncol(s) Donne le nombre de colonnes de l’objet s.
rbind(r1, ..., rk) Crée une matrice ou un tableau de données en collant
les r1, ..., rk l’un en dessous de l’autre.
cbind(c1, ..., ck) Crée une matrice ou un tableau de données en collant
les c1, ..., ck l’un à côté de l’autre.
40
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
17 Exercices
Exercice 1
1. Si nécessaire, procéder au téléchargement de R et de RStudio. Puis télécharger
la bibliothèque BioStatR.
2. Consultez l’aide de la bibliothèque BioStatR.
Exercice 2
1. Créez la suite d’entiers consécutifs de 10 à 25 avec les deux méthodes.
2. Créez la suite d’entiers en progression arithmétique de premier terme 20, de
dernier terme 40 et de raison 5.
3. Créez la suite dont tous les termes sont identiques et égaux à 28 et de longueur
10.
Exercice 3 : Construction de vecteurs
1. Créer le vecteur v égal à (101;102;...;112).
2. Créer le vecteur w de longueur 12 formé de quatre fois la suite de nombres
(4;6;3).
3. Créer le vecteur x composé de huit fois le chiffre 4, de sept fois le chiffre 6 et
de cinq fois le chiffre 3.
41
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
42
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
x<-c(NA,FALSE,TRUE)
names(x)<-as.character(x)
!x
outer(x,x,"&")
43
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
outer(x,x,"|")
outer(x,x,"xor")
18 Du mal à démarrer
Exercice 1
1. Relisez le paragraphe ??.
2. Relisez le paragraphe ?? et plus particulièrement le passage dédié à l’installation
du package openxlsx.
Exercice 2
1. Lisez l’aide de la fonction ":", en tapant ?":", et celle de la fonction seq.
2. Utilisez la fonction seq.
3. Utilisez la fonction rep.
Exercice 3
1. Utilisez l’opérateur ":".
2. Utilisez la fonction rep et la fonction c pour créer un vecteur.
3. Utilisez la fonction c et la fonction rep pour créer un vecteur. Faites attention
à l’ordre d’utilisation que vous allez utiliser pour ces deux fonctions.
Exercice 4
1. Utilisez la fonction c.
2. Utilisez la fonction c.
3. Utilisez la fonction c, la fonction rep et comment afficher une ou plusieurs
coordonnées d’un vecteur.
4. Relisez comment créer un fichier au format .xlsx
Exercice 5
1. Utilisez la fonction c.
2. Utilisez la fonction c. Relisez comment créer un tableau de données sous R.
Puis utilisez la fonction data.frame et l’option row.names.
3. Mêmes consignes qu’à la question 2).
4. Mêmes consignes qu’à la question 2).
44
Frédéric Bertrand et Myriam Maumy SY01 - 2021/2022
5. Pensez à vous servir des crochets de la même manière que lorsque vous utilisez
des matrices et de l’option drop=FALSE.
6. Mêmes consignes qu’à la question 5).
7. Commencez par regarder l’aide sur les opérateurs logiques, puis pensez à
utilisez aussi l’option drop=FALSE.
Problème
1. Utilisez l’opérateur ":".
2. Pensez à vous servir de >.
3. Pensez à vous servir de < ou de ! et de >=.
4. Pensez à vous servir de == ou de <= et de >=.
5. Pensez à vous servir de &&.
6. Pensez à vous servir de |.
7. Pensez à vous servir de ||.
8. Adaptez les commandes indiquées dans l’énoncé pour répondre à la question
suivante.
9. Exécutez les commandes indiquées dans l’énoncé
45