0% ont trouvé ce document utile (0 vote)
49 vues165 pages

Introduction à R pour la statistique

Transféré par

erre.fgz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues165 pages

Introduction à R pour la statistique

Transféré par

erre.fgz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction à la statistique

avec R
ISEM
R c’est quoi

● Environnement permettant de faire des analyses statistiques et de produire des graphiques.


● Langage de programmation complet.

2
Installation

Télécharger et installer R:
[Link]

Télécharger et installer RStudio Open Source Edition:


[Link]

Utiliser la version cloud gratuite:


[Link]
MzMyMzkzNy4xNzA5Mzk0MzUw*_ga_2C0WZ1JHG0*MTcwOTM5NDM0OS4xLjEuMTcwOTM5NDQ
1OS4wLjAuMA..

Guide d’installation:
[Link]

3
Bus vs SUV

When talking about user friendliness of computer software I like the analogy of cars vs. busses: [...] Using this
analogy programs like SPSS are busses, easy to use for the standard things, but very frustrating if you want to do
something that is not already preprogrammed. R is a 4-wheel drive SUV (though environmentally friendly) with a
bike on the back, a kayak on top, good walking and running shoes in the passenger seat, and mountain climbing
and spelunking gear in the back. R can take you anywhere you want to go if you take time to learn how to use the
equipment, but that is going to take longer than learning where the bus stops are in SPSS.

-- Greg Snow R-help (May 2006)

4
Débuter avec R

5
Saisir des commandes dans la console R

L'une des choses à faire avec R est de l'utiliser comme une simple calculatrice.

Par exemple, essayez de taper 10 + 20, et appuyez sur la touche Entrée. Lorsque vous faites cela, vous
entrez une commande, et R va "exécuter" cette commande. Voici ce que vous voyez à l'écran :

> 10 + 20

[1] 30

6
Saisir des commandes dans la console R

R est (un peu) flexible en matière d'espacement:

10 + 20
## [1] 30

10+20
## [1] 30

7
Saisir des commandes dans la console R

R peut parfois dire que vous n'avez pas encore terminé (mais pas souvent)

> 10 +
+ 20

[1] 30

8
Addition, soustraction, multiplication et division

operation operator example input example output

addition + 10 + 2 12

subtraction - 9-3 6

multiplication * 5*5 25

division / 10 / 3 3

power ^ 5^2 25
9
Effectuer les calculs dans le bon ordre

The “BEDMAS” order.22 That is, first calculate things inside Brackets (), then calculate Exponents ^, then
Division / and Multiplication *, then Addition + and Subtraction -

1 + 2 * 4
## ?

(1 + 2) * 4
## ?

4 / 2 * 3
## ?

10
Effectuer les calculs dans le bon ordre

The “BEDMAS” order.22 That is, first calculate things inside Brackets (), then calculate Exponents ^, then
Division / and Multiplication *, then Addition + and Subtraction -

1 + 2 * 4
## 9

(1 + 2) * 4
## 12

4 / 2 * 3
## 6

11
Stocker un nombre dans une variable

Vous pouvez considérer une variable comme une étiquette pour un certain élément d'information, ou
même plusieurs éléments d'information différents.

Pour ce faire, nous utilisons l'opérateur d'affectation, qui est <-

sales <- 350

sales
## [1] 350

12
Stocker un nombre dans une variable

En plus de l'opérateur <-, nous pouvons également utiliser -> et =

350 -> sales

sales
## [1] 350

sales = 350

sales
## [1] 350

13
Effectuer des calculs à l'aide de variables

350 * 7
## [1] 2450

sales <- 350


royalty <- 7

sales * royalty
## [1] 2450

14
Effectuer des calculs à l'aide de variables

revenue <- sales * royalty

revenue
## [1] 2450

revenue <- revenue + 550

revenue
## [1] 3000

15
Règles et conventions pour nommer les variables

● Caractères possibles: l’alphabet A à Z ou a à z, les caractères numériques 0-9, le point . ou le


caractère de soulignement _
● Les noms de variables ne peuvent pas contenir d'espaces
● Les noms de variables sont sensibles à la casse : Sales et sales sont des noms de variables
différents.
● Les noms de variables doivent commencer par une lettre ou un point. Par convention, les variables
commençant par un . sont utilisées à des fins spéciales.

16
Règles et conventions pour nommer les variables

Les noms de variables ne peuvent pas être des mots-clés réservés.

Ces mots-clés sont :

if, else, repeat, while, function, for, in, next, break, TRUE, FALSE, NULL, Inf, NaN, NA, NA_integer_,
NA_real_, NA_complex_, NA_character_.

Ne vous sentez pas particulièrement obligé de les mémoriser : si vous faites une erreur et essayez
d'utiliser l'un des mots-clés comme nom de variable, R va retourner une erreur.

17
Conventions informelles

● Utiliser des noms de variables informatifs. En règle générale, il est préférable d'utiliser des noms
significatifs tels que ventes et revenus plutôt que des noms arbitraires tels que variable1 et
variable2.
● Utiliser des noms de variables courts.
● Choisir un style pour les variables à plusieurs mots. Par exemple pour “mon nouveau salaire”:
○ [Link]
○ mon_nouveau_salaire
○ monNouveauSalaire

18
Utiliser des fonctions pour effectuer des calculs

Lorsque nous utilisons une fonction pour faire quelque chose, nous appelons généralement cela l'appel de
la fonction, et les valeurs que nous saisissons dans la fonction (il peut y en avoir plusieurs) sont appelées
les arguments de cette fonction.

sqrt( 225 )
## [1] 15

abs( -13 )
## [1] 13

19
Utiliser des fonctions pour effectuer des calculs

Lorsque nous utilisons une fonction pour faire quelque chose, nous appelons généralement cela l'appel de
la fonction, et les valeurs que nous saisissons dans la fonction (il peut y en avoir plusieurs) sont appelées
les arguments de cette fonction.

sqrt( 225 )
## [1] 15

abs( -13 )
## [1] 13

sqrt( 1 + abs(-8) )
## [1] 3
20
Arguments, leurs noms et leurs valeurs par défaut

La fonction round() permet d'arrondir une valeur au nombre entier le plus proche.

round( 3.1415 )
## [1] 3

Pour arrondir à deux décimales : càd obtenir 3,14 comme résultat. La fonction round() vous permet
d'entrer un deuxième argument dans la fonction, qui spécifie le nombre de décimales auquel vous
voulez arrondir le nombre.

round( 3.14165, 2 )
## [1] 3.14

21
Arguments, leurs noms et leurs valeurs par défaut

La plupart des fonctions R utilisent des noms d'arguments. Pour la fonction round(), par exemple, le
nombre qui doit être arrondi est spécifié à l'aide de l'argument x, et le nombre de décimales auquel vous
voulez qu'il soit arrondi est spécifié à l'aide de l'argument digits.

round( x = 3.1415, digits = 2 )


## [1] 3.14

22
Arguments, leurs noms et leurs valeurs par défaut

Lorsque vous spécifiez les arguments en utilisant leurs noms, l'ordre dans lequel vous les saisissez n'a pas
d'importance. Si vous n'utilisez pas les noms des arguments, vous devez les saisir dans le bon ordre.
round( 3.14165, 2 )
## [1] 3.14

round( x = 3.1415, digits = 2 )


## [1] 3.14

round( digits = 2, x = 3.1415 )


## [1] 3.14

round( 2, 3.14165 )
## [1] 2
23
Arguments, leurs noms et leurs valeurs par défaut

Si on ne spécifie pas l'argument digits, R va arrondir au nombre entier le plus proche.

round( 3.1415 )
## [1] 3

Comment cela s'est-il produit ? L'argument digits a une valeur par défaut de 0, ce qui signifie que si
vous décidez de ne pas spécifier de valeur pour digits, R agira comme si vous aviez tapé digits = 0.

round( x = 3.1415, digits = 0 )


## [1] 3

24
Laisser RStudio vous aider avec vos commandes

● Autocomplétion utilisant "tab"


● Consultation de l'historique des commandes

25
Stocker plusieurs nombres sous forme de vecteur

La façon la plus simple de créer une liste de valeurs dans R est d'utiliser la fonction de combinaison, c().
Pour ce faire, il suffit de taper tous les nombres que vous souhaitez stocker dans une liste séparée par
des virgules

[Link] <- c(0, 100, 200, 50, 0, 0, 0, 0, 0, 0, 0, 0)

[Link]
## [1] 0 100 200 50 0 0 0 0 0 0 0 0

cette variable est un vecteur composé de 12 éléments.

26
Stocker plusieurs nombres sous forme de vecteur

Si on s’amuse à réduire la taille de la fenêtre RStudio

[Link]
## [1] 0 100 200 50
## [5] 0 0 0 0
## [9] 0 0 0 0

Faute de place sur l'écran, R a imprimé les résultats sur trois lignes. La première ligne est précédée
d'un [1], tandis que la deuxième ligne commence par [5] et la troisième par [9]. Pour la première ligne, R
a imprimé le premier élément jusqu'au quatrième, et commence donc cette ligne par un [1]. Pour la
deuxième ligne, R a imprimé le 5e élément du vecteur jusqu'au 8e, et il commence donc cette ligne par
un [5] afin que vous puissiez savoir où il en est d'un coup d'œil.
27
Obtenir des informations à partir de vecteurs

Février est le deuxième mois de l'année, alors essayons ceci :

[Link][2]
## [1] 100

[Link] <- [Link][2]

[Link]
## [1] 100

28
Modification des éléments d'un vecteur

Si on veut modifier les ventes du mois de Mai :

[Link][5] <- 25

[Link]
## [1] 0 100 200 50 25 0 0 0 0 0 0 0

29
Choses utiles à savoir sur les vecteurs

Taille d’un vecteur

length( x = [Link] )
## [1] 12

Multiplier un vecteur par un nombre, on fait 7$ de gain pour chaque vente:

[Link] * 7
## [1] 0 700 1400 350 175 0 0 0 0 0 0 0

30
Choses utiles à savoir sur les vecteurs

[Link] <- c(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
profit <- [Link] * 7

Diviser un vecteur par un autre (division élément par élément), profit journalier:

profit / [Link]
## [1] 0.000000 25.000000 45.161290 11.666667 5.645161 0.000000 0.000000
## [8] 0.000000 0.000000 0.000000 0.000000 0.000000

31
Stockage des données texte

Parfois, vos données doivent être décrites à l'aide de texte, et non de chiffres. Pour cela, nous devons
considérer la situation où nos variables stockent du texte. Pour créer une variable qui stocke le mot
"hello", nous pouvons taper ceci :

greeting <- "hello"

greeting
## [1] "hello"

32
Stockage des données texte

R stocke l'intégralité du mot "hello" en un seul élément : notre variable " greeting" n' est pas un vecteur de
cinq lettres différentes. Elle ne comporte qu'un seul élément, qui correspond à l'ensemble de la chaîne de
caractères "hello".

greeting[1]
## [1] "hello"

33
Stockage des données texte

Nous pouvons créer un vecteur de caractères. Par exemple:

months <- c("January", "February", "March", "April", "May", "June",


"July", "August", "September", "October", "November",
"December")

months[4]
## [1] "April"

34
Travailler avec du texte

nchar() est une fonction qui compte le nombre de caractères individuels qui composent une chaîne de
caractères

nchar( x = greeting )
## [1] 5

nchar( x = months )
## [1] 7 8 5 5 3 4 4 6 9 7 8 8

35
Évaluation des vérités mathématiques

A ne pas confondre l’opérateur d’égalité == avec l’opérateur d’assignation = ou <- comme 2 + 2 = 5 ou 2 +


2 <- 5. Lorsque je fais cela, voici ce qui se passe :

2 + 2 = 5
## Error in 2 + 2 = 5: target of assignment expands to non-language
object

36
Évaluation des vérités mathématiques

Une valeur logique est une affirmation selon laquelle quelque chose est vraie ou fausse. Il existe deux
valeurs logiques, à savoir TRUE et FALSE.
Nous utilisons l'opérateur d'égalité, ==, pour forcer R à faire un jugement "vrai ou faux".

2 + 2 == 4
## [1] TRUE

2+2 == 5
## [1] FALSE

37
Évaluation des vérités mathématiques

Nous pouvons combiner des opérations logiques avec d'autres opérations et fonctions de manière plus
complexe.

3*3 + 4*4 == 5*5


## [1] TRUE

sqrt( 25 ) == 5
## [1] TRUE

38
Évaluation des vérités mathématiques
operation operator example input answer

less than < 2<3 TRUE

less than or equal to <= 2 <= 2 TRUE

greater than > 2>3 FALSE

greater than or equal to >= 2 >= 2 TRUE

equal to == 2 == 3 FALSE

not equal to != 2 != 3 TRUE

39
Évaluation des vérités mathématiques
operation operator example input answer

not ! !(1==1) FALSE

or | (1==1) | (2==3) TRUE

and & (1==1) & (2==3) FALSE

40
Évaluation des vérités mathématiques

Il s'agit de l'opérateur not !, de l'opérateur and & et de l'opérateur or |.

Comme les autres opérateurs logiques, leur comportement est plus ou moins conforme à ce que l'on
attend de leur nom. Par exemple, si je vous demande d'évaluer l'affirmation "soit 2+2=4 , soit 2+2=5",
vous direz qu'elle est vraie.

(2+2 == 4) | (2+2 == 5)
## [1] TRUE

41
Évaluation des vérités mathématiques

Si je vous demande d'évaluer l'affirmation "2+2=4 et 2+2=5", vous répondrez qu'elle est fausse. Puisqu'il
s'agit d'une affirmation et, il faut que les deux parties soient vraies. C'est ce que fait l'opérateur & :

(2+2 == 4) & (2+2 == 5)


## [1] FALSE

42
Évaluation des vérités mathématiques

Si je vous demande d'évaluer l’affirmation selon laquelle "il n'est pas vrai que 2+2=5", vous répondrez que
l’affirmation est vraie.

! (2+2 == 5)
## [1] TRUE

43
Évaluation des vérités mathématiques

Nous avons aussi:

! FALSE
## [1] TRUE

2+2 != 5
## [1] TRUE

44
Stockage et utilisation de données logiques

Nous pouvons stocker les données logiques dans des variables:

[Link] <- 2 + 2 == 5
[Link]
## [1] FALSE

ou directement avec les valeurs TRUE ou FALSE

[Link] <- FALSE


[Link]

45
Stockage et utilisation de données logiques

R offre un raccourci : vous pouvez utiliser T et F à la place de TRUE ou FALSE (mais c'est sensible à la
casse : t et f ne fonctionnent pas).

[Link] <- F
[Link]
## [1] FALSE

46
Vecteurs d'éléments logiques

Il est possible de stocker des vecteurs de valeurs logiques exactement de la même manière que de
stocker des vecteurs de nombres et des vecteurs de données textuelles.

x <- c(TRUE, TRUE, FALSE)


x
## [1] TRUE TRUE FALSE

47
Vecteurs d'éléments logiques

Il est possible aussi de produire un vecteur de logiques en appliquant un opérateur logique à un vecteur

[Link] <- c(0, 100, 200, 50, 0, 0, 0, 0, 0, 0, 0, 0)

[Link] > 0
## [1] FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE

48
Vecteurs d'éléments logiques

Je peux le stocker le résultat dans un vecteur si je le souhaite:

[Link] <- [Link] > 0


[Link]
## [1] FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE

49
Appliquer une opération logique à un texte

Je peux demander à R si le mot "cat" est le même que le mot "dog", comme ceci :

"cat" == "dog"
## [1] FALSE

"cat" == "cat"
## [1] TRUE

50
Appliquer une opération logique à un texte

Si deux chaînes diffèrent de quelque manière que ce soit, R dira qu'elles ne sont pas égales l'une à l'autre

" cat" == "cat"


## [1] FALSE

"cat" == "CAT"
## [1] FALSE

"cat" == "c a t"


## [1] FALSE

51
Extraction de plusieurs éléments
d’un vecteur

52
Indexation des vecteurs

Pour extraire une information d'un vecteur, on tape quelque chose comme months[4]; et R imprime le
quatrième élément du vecteur mois

months <- c("January", "February", "March", "April", "May", "June",


"July", "August", "September", "October", "November",
"December")

months[4]
## [1] "April"

53
Extraction de plusieurs éléments

Pour extraire plus d'un élément à la fois. Nous pouvons également utiliser un vecteur. Supposons que je
veuille les données de février, mars et avril. Je pourrais utiliser le vecteur c(2,3,4) pour indiquer les
éléments que je veux extraire.

[Link] <- c(0, 100, 200, 50, 0, 0, 0, 0, 0, 0, 0, 0)

[Link][ c(2,3,4) ]
## [1] 100 200 50

54
Extraction de plusieurs éléments

Notez que l'ordre est important ici. Si j'ai demandé les données dans l'ordre inverse (c'est-à-dire avril
d'abord, puis mars, puis février) en utilisant le vecteur c(4,3,2), alors R fournit les données dans l'ordre
inverse :
[Link] <- c(0, 100, 200, 50, 0, 0, 0, 0, 0, 0, 0, 0)

[Link][ c(2,3,4) ]
## [1] 100 200 50

[Link][ c(4,3,2) ]
## [1] 50 200 100

55
Extraction de plusieurs éléments

R vous fournit des raccourcis pratiques pour des situations très courantes.
[Link] <- c(0, 100, 200, 50, 0, 0, 0, 0, 0, 0, 0, 0)

[Link][ c(2,3,4,5,6,7,8) ]
## [1] 100 200 50 25 0 0 0

2:8
## [1] 2 3 4 5 6 7 8

[Link][2:8]
## [1] 100 200 50 25 0 0 0

56
Extraction de plusieurs éléments

Indexation logique

months <- c("January", "February", "March", "April", "May", "June",


"July", "August", "September", "October", "November",
"December")

[Link] <- c(0, 100, 200, 50, 0, 0, 0, 0, 0, 0, 0, 0)

months[ [Link] > 0 ]


## [1] "February" "March" "April" "May"

57
Extraction de plusieurs éléments

Indexation logique

[Link] <- [Link] > 0

months[ [Link] ]
## [1] "February" "March" "April" "May"

58
Extraction de plusieurs éléments

Indexation logique

[Link]<-c("high", "high", "low", "out", "out", "high",


"high", "high", "high", "high", "high", "high")
[Link]

## [1] "high" "high" "low" "out" "out" "high" "high" "high" "high" "high"
## [11] "high" "high"

months[[Link] == "out"]
## [1] "April" "May"

59
Extraction de plusieurs éléments

Indexation logique

[Link]

## [1] "high" "high" "low" "out" "out" "high" "high" "high" "high" "high"
## [11] "high" "high"

months[[Link] == "out" | [Link] == "low"]


## [1] "March" "April" "May"

months[[Link] != "high" ]
## [1] "March" "April" "May"

60
Extraction de plusieurs éléments

Le caractère de commentaire, #, indique à R d'ignorer tout ce que vous avez écrit sur cette ligne.

a <- 3.1415 # create the first variable

b <- 2.7183 # create the second variable

c <- a * b # now multiply them to create a third one

print( c ) # print out the value of c

## [1] 8.539539

61
Installation et chargement de
packages

62
Installation et chargement de packages

Un package est une grande collection de fonctions, d'ensembles de données et d'autres objets R
regroupés sous un nom commun.

Certains packages sont déjà installés lorsque vous installez R sur votre ordinateur, mais la grande
majorité sont disponibles sur l'internet.

● Un package doit être installé avant d'être chargé.


● Un package doit être chargé avant de pouvoir être utilisé.

63
Installation et chargement de packages

Installer un package

[Link]("tidyverse")

Charger un package

library(tidyverse)

Décharger un package:

detach("package:tidyverse", unload=TRUE)

64
Installation et chargement de packages

Dans le cas où le package à décharger est utilisé, comme dépendance, par un autre package déjà chargé. R
va refuser de le décharger car cela vous empêche de supprimer accidentellement quelque chose dont
vous avez encore besoin. Ainsi, si je veux supprimer à la fois Matrix et lattice, je dois le faire dans le bon
ordre

library( Matrix )
## Loading required package: lattice

detach("package:lattice", unload=TRUE)
## Error: package `lattice' is required by `Matrix' so will not be detached

65
Gestion de l'espace de travail

66
Lister le contenu de l'espace de travail

La façon la plus simple de procéder est d'utiliser le panneau "Environnement" dans le coin supérieur droit.
Si vous utilisez la ligne de commande, la fonction objects() peut s'avérer utile
objects()
## [1] "[Link]" "msg" "[Link]" "x"

Nous avons aussi la fonction who() du package “lsr”


library(lsr)
who()
## -- Name -- -- Class -- -- Size –
## [Link] character 3
## msg character 1
## [Link] numeric 12
## x numeric 1
67
Suppression des variables de l'espace de travail

La fonction rm() permet de supprimer les variables dont vous n’avez plus besoin, elle consiste simplement
à saisir une liste (séparée par des virgules) de toutes les variables que vous souhaitez supprimer.

rm( [Link], x )
who()
## -- Name -- -- Class -- -- Size –
## [Link] character 3
## msg character 1

68
Naviguer dans le système de fichiers

Afficher le répertoire de travail

getwd()
## [1] "/Users/khalid"

Changer le répertoire de travail

setwd("./Documents/Teaching/data")
setwd("/Users/khalid/Documents/Teaching/data")

69
Naviguer dans le système de fichiers

Afficher le répertoire de travail

getwd()
## [1] "/Users/khalid"

Changer le répertoire de travail

setwd("./Documents/Teaching/data")
setwd("/Users/khalid/Documents/Teaching/data")

setwd( "C:/Users/khalid/data" )
setwd( "C:\\Users\\khalid\\data" )

70
Naviguer dans le système de fichiers

Lister les fichiers du répertoire de travail

[Link]()
## [1] "Applications" "[Link]" "[Link]"

71
Chargement et enregistrement des données

Il existe différents types de fichiers importants :

● Les fichiers de l'espace de travail sont ceux qui portent l'extension .Rdata. Il s'agit du type de
fichier standard utilisé par R pour stocker les données et les variables.
● Les fichiers de valeurs séparées par des virgules (CSV ) portent l'extension .csv. Il s'agit de fichiers
texte classiques, qui peuvent être ouverts avec presque tous les logiciels.
● Les fichiers de script sont ceux qui portent l'extension .R. Ils servent à enregistrer une collection
de commandes que vous voulez que R exécute plus tard.

72
Enregistrement d'un fichier d'espace de travail

Il existe deux commandes pour ce faire : save() et [Link]().

Si vous souhaitez enregistrer toutes les variables de votre espace de travail dans le fichier de
données, vous devez utiliser [Link](). Et si vous voulez que R enregistre le fichier dans le
répertoire de travail actuel, tout ce que vous avez à faire est ceci :

[Link]( file = "[Link]" )

Puisque file est le premier argument, vous pouvez abréger en

[Link]( "[Link]" )

73
Enregistrement d'un fichier d'espace de travail

Pour sauvegarder juste quelques variables, on utilise la commande save()

who()
## -- Name -- -- Class -- -- Size –
## data [Link] 3 x 2
## handy character 1
## junk numeric 1

Je souhaite sauvegarder les variables data et handy, mais pas junk

save(data, handy, file = "[Link]")

74
Enregistrement d'un fichier d'espace de travail

Une autre façon de faire:

[Link] <- c("data", "handy") # the variables to be saved


save( file = "[Link]", list = [Link] ) # the command to save them

75
Chargement des fichiers de l'espace de travail

Vous pouvez utiliser la fonction load() en donnant un chemin absolu ou relatif, ou en se déplaçant au
répertoire contenant le fichier avant en utilisant setwd()

setwd( "../data" ) # move to the data directory


load( "[Link]" ) # load the data

Les nouvelles variables apparaîtront dans l'espace de travail (vous les verrez dans le panneau
Environnement de RStudio, ou si vous tapez who()

76
Importation de données à partir de fichiers CSV

Les fichiers CSV sont de simples fichiers texte avec séparateur. La fonction [Link]() permet d’ouvrir ce
type de fichiers. Il n'y a que deux arguments à la fonction que je vais mentionner :

● file. Pour spécifier le chemin d'accès au fichier (absolu ou relatif).


● header. Valeur logique indiquant si la première ligne du fichier contient ou non des noms de
variables. La valeur par défaut est VRAI.

books <- [Link]( file = "~/Documents/Teaching/data/[Link]" )


print( books )
## Month Days Sales [Link]
## 1 January 31 0 high
## 2 February 28 100 high

77
Choses utiles à savoir sur les
variables

78
Valeurs spéciales

Ces valeurs sont Inf, NaN, NA et NULL. Ces valeurs peuvent apparaître à différents endroits et il est
donc important de comprendre ce qu'elles signifient.

Infinity(Inf) correspond à une valeur infiniment grande. Il est également possible d'avoir -Inf. La façon
la plus simple d'obtenir Inf est de diviser un nombre positif par 0 :

1 / 0
## [1] Inf

79
Valeurs spéciales

NaN c'est l'abréviation de "Not a Number" (pas un nombre),il est conventionnel de dire par exemple
que 0/0 n'a pas de réponse correcte : les mathématiciens diraient que 0/0 est indéfini. R dit que ce
n'est pas un nombre.

0 / 0
## [1] NaN

80
Valeurs spéciales

NA (Not Available) indique que la valeur qui est "censée" être stockée ici est manquante. C'est quelque
chose que l'on a le plus de chances de voir lors de l'analyse de données provenant d'expériences réelles.
Il arrive que l'équipement tombe en panne, que l'on perde une partie des données, etc.

Notez la différence entre NA et NaN. Dans le cas de NaN, nous savons réellement ce qui est censé être
stocké, mais il se trouve que cela correspond à quelque chose comme 0/0 qui n'a aucun sens. En
revanche, NA indique que nous ne savons pas ce qui est censé être stocké. L'information est
manquante.

81
Valeurs spéciales

NULL affirme que la variable n'a aucune valeur. C'est très différent de NaN et NA. Dans le cas de NaN,
nous savons en fait quelle est la valeur, car il s'agit de quelque chose d'insensé comme 0/0. Pour NA,
nous pensons qu'il est censé y avoir une valeur, mais nous ne savons donc pas exactement ce que c'est.
Mais pour NULL, nous croyons fermement qu'il n'y a pas de valeur du tout.

82
Attribution de noms aux éléments d’un vecteur

Supposons que je dispose de données sur les bénéfices trimestriels d'une entreprise. Si je me contente
de créer un vecteur, je dois faire appel à ma mémoire pour savoir quel élément correspond à quel
événement.

profit <- c( 3.1, 0.1, -1.4, 1.1 )


profit
## [1] 3.1 0.1 -1.4 1.1

Il peut être utile d'attribuer des noms à chacun des éléments.

names(profit) <- c("Q1","Q2","Q3","Q4")


profit
## Q1 Q2 Q3 Q4
## 3.1 0.1 -1.4 1.1

83
Attribution de noms aux éléments d’un vecteur

Une autre façon de le faire

profit <- c( "Q1" = 3.1, "Q2" = 0.1, "Q3" = -1.4, "Q4" = 1.1 )
profit
## Q1 Q2 Q3 Q4
## 3.1 0.1 -1.4 1.1

R permet d'extraire des éléments particuliers du vecteur en se référant à leur nom

profit["Q1"]
## Q1
## 3.1

84
Classes de variables

Les variables que nous avons définies jusqu'à présent étaient soit des données de caractères (texte),
soit des données numériques, soit des données logiques. La fonction class() permet de rappeler quel
type d'information chaque variable stocke.

x <- "hello world" # x is text


class(x)
## [1] "character"

x <- TRUE # x is logical


class(x)
## [1] "logical"

x <- 100 # x is a number


class(x)
## [1] "numeric"
85
Factors

Les variables à échelle nominale, par exemple niveau de satisfaction de 1 à 4, peuvent être représentée
sous forme de factors:

satisfaction <- c(1,1,1,2,2,2,3,3,4)

satisfaction <- [Link](satisfaction)

satisfaction
## [1] 1 1 1 2 2 2 3 3 4
## Levels: 1 2 3 4

86
Factors

Il n’y a pas de sens à ajouter les niveaux 1 à 2 et trouver le niveau 3, même s’il s’agit d’une variable
numérique.

class(satisfaction)
## [1] "factor"

satisfaction + 2
## Warning in [Link](satisfaction, 2): '+' not meaningful for factors
## [1] NA NA NA NA NA NA NA NA NA

87
Factors

Étiquetage des niveaux de facteurs:

group <- c(1,1,1,2,2,2,3,3,3)

group <- [Link](group)

levels(group) <- c("group 1", "group 2", "group 3")

print(group)
## [1] group 1 group 1 group 1 group 2 group 2 group 2 group 3 group 3 group 3
## Levels: group 1 group 2 group 3

88
Data frames

Les tableaux de données ( dataframes en anglais) sont une structure particulière sur R. Elles
permettent de stocker un jeu de données composé de différents individus (ou observations) en ligne et
de différentes variables en colonne.

age <- c(17, 19, 21, 37, 18, 19, 47, 18, 19)
gender <- c(1, 1, 1, 1, 1, 2, 2, 2, 2)
group <- c(1,1,1,2,2,2,3,3,3)
score <- c(12, 10, 11, 15, 16, 14, 25, 21, 29)

group <- [Link](group)


levels(group) <- c("group 1", "group 2", "group 3")
gender <- [Link](gender)
levels(gender) <- c("male", "female")

89
Data frames

expt <- [Link] ( age, gender, group, score )

expt
## age gender group score
## 1 17 male group 1 12
## 2 19 male group 1 10
## 3 21 male group 1 11
## 4 37 male group 2 15
## 5 18 male group 2 16
## 6 19 female group 2 14
## 7 47 female group 3 25

90
Data frames

Pour extraire la variable qui vous intéresse à l’intérieur d’un data frame, on utilise le $

expt$score
## [1] 12 10 11 15 16 14 25 21 29

Pour voir les noms des variables à l’intérieur d’un data frame, on utilise names()

names(expt)
## [1] "age" "gender" "group" "score"

91
Data frames

Nous pouvons utiliser aussi who(expand = TRUE)

who(expand = TRUE)

## -- Name -- -- Class -- -- Size --


## expt [Link] 9 x 4
## $age numeric 9
## $gender factor 9
## $group factor 9
## $score numeric 9

92
Listes

Une liste est un objet spécial dont les éléments peuvent être de toute nature (y compris d'autres listes).
Pour créer une liste, il suffit d'utiliser la fonction list() et d'écrire entre les parenthèses les différents
éléments.

Omar <- list( age = 34,


student = TRUE,
parents = c("Adil","Mouna")
)

93
Listes

print( Omar )

## $age
## [1] 34
##
## $student
## [1] TRUE
##
## $parents
## [1] "Adil" "Mouna"

94
Listes

Omar$student
## [1] TRUE

Omar$children <- "Ali"


print( Omar )
## $age
## [1] 34
## $student
## [1] TRUE
## $parents
## [1] "Adil" "Mouna"
## $children
## [1] "Ali"
95
Obtenir de l'aide

Pour obtenir de l’aide nous avons plusieurs possibilités:

Pour afficher de l’aide, on utilise ? ou la fonction help()

?load
help("load")

Pour chercher dans l’aide, on utilise ?? ou [Link]()

??load
[Link]("load")

96
Statistiques descriptives
Mesures de tendance centrale

97
Mesures de tendance centrale

Les mesures de tendance centrale s’intéressent aux valeurs qui sont "au milieu" ou "populaires" dans les
données. Comme la moyenne, la médiane pour les variables quantitatives, ou le mode pour les variables
qualitatives.

98
Moyenne

La moyenne d'un ensemble d'observations est simplement une moyenne normale : il suffit d'additionner
toutes les valeurs, puis de les diviser par le nombre total de valeurs.

(10 + 12 + 14 + 8 + 15) / 5
## [1] 11.8

notes <- c(10,12,14,8,15)


moyenne <- sum( notes )/length( notes )
moyenne
## [1] 11.8

99
Moyenne

Nous pouvons utiliser la fonction mean()pour calculer la moyenne d'un ensemble d'observations.

mean( x = notes )
## [1] 11.8

100
Moyenne

Nous pouvons appliquer la fonction mean()sur un sous ensemble d'observations.

mean( notes[1:3] )
## [1] 12

sum( notes[1:3] ) / 3
## [1] 12

101
Médiane

La médiane d'un ensemble d'observations est simplement la valeur du milieu. Pour déterminer la
médiane, nous classons ces chiffres par ordre croissant :

8,31,32,56,56

Il est évident que la valeur médiane de ces 5 observations est 32, puisque c'est celle qui se trouve au
milieu de la liste triée.

102
Médiane

Dans le cas où il y a deux nombres médians, par exemple ici 31 et 32

8,14,31,32,56,56

la médiane est définie comme la moyenne de ces deux nombres, qui est bien sûr 31,5. La médiane est
définie comme la moyenne de ces deux nombres, qui est bien sûr 31,5.

103
Médiane

Pour ordonner un ensemble de valeurs:

notes <- c(10,12,14,8,15)


sort( x = notes )
## [1] 8 10 12 14 15

Pour avoir la médiane d’un ensemble de valeurs on utilise la fonction median()

median( x = notes )
## [1] 12

104
Moyenne ou médiane ? Quelle est la différence ?

La moyenne est le "centre de gravité" de


l'ensemble des données : si vous imaginez que
l'histogramme des données est un objet solide, le
point sur lequel vous pourriez le faire tenir en
équilibre (comme sur une balançoire) est la
moyenne.

La médiane est l'observation du milieu. La moitié


des observations sont plus petites et l'autre
moitié plus grandes.

105
Moyenne ou médiane ? Quelle est la différence ?

Pour donner un exemple concret, supposons que Bob (revenu de 50 000 $), Kate (revenu de 60 000
$) et Jane (revenu de 65 000 $) soient assis à une table : le revenu moyen à la table est de 58 333 $ et
le revenu médian est de 60 000 $.

Puis Bill s'assit à côté d'elles (revenu de 100 000 000 $). Le revenu moyen est passé à 25 043 750
dollars, mais le revenu médian ne s'élève qu'à 62 500 dollars.

Si vous vous intéressez au revenu global de la table, la moyenne peut être la bonne réponse ; mais si
vous vous intéressez à ce qui compte comme un revenu typique de la table, la médiane serait un
meilleur choix ici.

106
Moyenne ajustée

La moyenne ajustée est utilisée pour corriger les moyennes statistiques qui incluent des déséquilibres
évidents en raison de valeurs aberrantes dans l’ensemble de données.

dataset <- c( -15,2,3,4,5,6,7,8,9,100 )

mean( x = dataset )
## [1] 12.9

median( x = dataset )
## [1] 5.5

107
Moyenne ajustée

Si nous prenons une moyenne ajustée de 10 %, nous laisserons de côté les valeurs extrêmes de chaque
côté et nous prendrons la moyenne du reste :

mean( x = dataset, trim = .1)


## [1] 5.5

108
Mode

Le mode, ou valeur dominante, est la valeur la plus représentée d'une variable quelconque dans une
population donnée.

mentions <- c('Bien', 'Bien', 'Passable', 'ABien', 'Bien','Passable','TBien')

table( mentions )
## ABien Bien Passable TBien
## 1 3 2 1

109
Mode

Pour avoir le mode, nous pouvons utiliser la fonction modeOf() du package lsr. La fonction
maxFreq()donne la fréquence, ou nombre d'occurrences du mode.

library(lsr)

modeOf(mentions)
## [1] "Bien"

maxFreq(mentions)
## [1] 3

110
Statistiques descriptives
Mesures de variabilité

111
Mesures de variabilité

Les mesures de la variabilité des données s’intéressent aux questions suivantes: dans quelle mesure les
données sont-elles "étalées" ? À quel point les valeurs observées ont-elles tendance à s'éloigner de la
moyenne ou de la médiane ?

112
Étendue ou Range

Le Range est l’étendue d' une variable entre la plus grande valeur et la plus petite. Nous pouvons calculer
ces valeurs dans R à l'aide des fonctions max() et min():

notes <- (7,12,11,18,15,8,12)


max( notes )
## [1] 18

min( notes )
## [1] 7

range( notes )
## [1] 7 18

113
Quantile

Le 10e quantile (ou percentile) d'un ensemble de données est le plus petit nombre x tel que 10 % des
données sont inférieures à x.

La médiane d'un ensemble de données est son 50e quantile / percentile !

R vous permet de calculer les quantiles à l'aide de la fonction quantile()

quantile( x = notes, probs = .5 )


## 50%
## 12

114
Intervalle interquartile (Inter Quartile Range)

L'intervalle interquartile (IQR) calcule la différence entre le 25e quantile et le 75e quantile. En d'autres
termes, un quart des données est inférieur au 25e centile, un quart des données est supérieur au 75e
centile, ce qui laisse la "moitié médiane" des données entre les deux.

quantile( x = notes, probs = c(.25,.75) )


## 25% 75%
## 9.5 13.5

Notez que: 13.5 - 9.5 = 4.

IQR( x = notes )
## [1] 4

115
Variance

La variance est une mesure de dispersion. Elle saisit dans quelle mesure les données se situent autour de
la moyenne. Si nous avons des données très supérieures et très inférieures à la moyenne, la moyenne sera
moins représentative, ce qui se traduira par une variance élevée.

var(notes)
## [1] 14.47619

116
Écart-type (Standard Deviation)

L'écart-type sert à mesurer la dispersion, ou l'étalement, d'un ensemble de valeurs autour de leur
moyenne. Plus l'écart-type est faible, plus la population est homogène. C'est la racine carrée de la
variance.

sd( notes )
## [1] 3.804759

117
Quelle mesure utiliser?

● L'étendue nous donne l'étendue complète des données. Elle est très vulnérable aux valeurs
aberrantes et n'est donc pas souvent utilisée.
● L'écart interquartile indique où se situe la "moitié moyenne" des données. Il est assez robuste et
complète bien la médiane. Il est très utilisé.
● La variance indique l'écart moyen au carré par rapport à la moyenne. C'est une bonne façon de
décrire la variation autour de la moyenne, mais c'est totalement ininterprétable parce qu'elle
n'utilise pas les mêmes unités que les données. Elle n'est pratiquement jamais utilisée.
● L’écart-type est la racine carrée de la variance. Il est exprimé dans les mêmes unités que les
données, de sorte qu'il peut être interprété assez facilement. C'est de loin la mesure de variation la
plus populaire.

118
Obtenir un résumé général d'une variable

La fonction summary() est une fonction générique. L'idée de base de la fonction summary() est qu'elle
affiche des informations utiles sur l'objet (c'est-à-dire la variable, en ce qui nous concerne) que vous
spécifiez en tant qu'argument de l'objet. Le comportement de la fonction summary() diffère selon la
classe de l'objet que vous lui donnez. Commençons par lui donner un objet numérique:

summary( object = notes )


## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7.00 9.50 12.00 11.86 13.50 18.00

119
Obtenir un résumé général d'une variable

Pour un objet booléen:

reponses <-c(T, T, F, F, F, T, F, T, T, T)

summary( object = reponses )


## Mode FALSE TRUE
## logical 4 6

Nous pouvons utiliser aussi la même fonction pour les objets de type factor ou dataframe.

120
Gestion des valeurs manquantes

Les ensembles de données réelles comportent très souvent des valeurs manquantes : quelqu'un a peut-
être oublié de répondre à une question d'enquête particulière, par exemple.

notes <-c(12,17,NA,20,7,15)
mean( x = notes )
## [1] NA

mean( x = notes, [Link] = TRUE )


## [1] 14.2

121
Correlation

122
Analyse de corrélation

L'analyse de corrélation est une technique statistique


utilisée pour mesurer la force et la direction de la
relation entre deux variables continues.

La mesure de corrélation la plus courante est le


coefficient de corrélation de Pearson. Il quantifie la
relation linéaire entre deux variables.

123
Analyse de corrélation

# Sample data
study_hours <- c(5, 7, 3, 8, 6, 9)
exam_scores <- c(80, 85, 60, 90, 75, 95)

# Calculate Pearson correlation


correlation <- cor(study_hours, exam_scores)
correlation

Output
[1] 0.9569094

124
Visualiser les données et la corrélation

# Visualize the data and correlation


plot(study_hours, exam_scores, main = "Scatterplot
of Study Hours vs. Exam Scores")
# Add regression line
abline(lm(exam_scores ~ study_hours), col = "red")

125
Graphiques

126
Tracer des graphiques

La visualisation des données est l'une des tâches les plus importantes de l'analyste de données. Elle est
importante pour deux raisons distinctes mais étroitement liées.

● L'affichage de vos données d'une manière propre et visuellement attrayante permet à votre lecteur
de comprendre plus facilement ce que vous essayez de lui dire.
● Le fait de dessiner des graphiques vous aide vous même à comprendre les données.

127
Tracer des graphiques

La fonction plot() permet de tracer rapidement un


graphique.

Fibonacci <- c( 1,1,2,3,5,8,13 )


plot( Fibonacci )

128
Tracer des graphiques

Personnalisation du titre et des étiquettes des axes:

plot( x = Fibonacci,
main = "You specify title using the 'main' argument",
sub = "The subtitle appears here! (Use the 'sub'
argument for this)",
xlab = "The x-axis label is 'xlab'",
ylab = "The y-axis label is 'ylab'"
)

129
Tracer des graphiques

Modifier le type de tracé

● type = "p". Dessine uniquement les points.


● type = "l". Dessine une ligne passant par les points.
● type = "o". Trace la ligne au-dessus des points.
● type = "b". Dessine à la fois les points et les lignes, mais ne les superpose pas.
● type = "h". Dessine des barres verticales de type histogramme.
● type = "s". Dessine un escalier, en allant horizontalement puis verticalement.
● type = "S". Dessine un escalier, allant verticalement puis horizontalement.
● type = "c". Dessine uniquement les lignes de connexion de la version "b".
● type = "n". Ne rien dessiner. (Parfois c'est utile )

130
131
Tracer des graphiques

Personnalisation du type du graphique:

plot( x = Fibonacci, type = “b”


main = "type = ‘b’",
xlab = "Index",
ylab = "Fibonacci"
)

132
Diagramme à barres

barplot( Fibonacci,
main = "Graphique à barres",
xlab = "Index",
ylab = "Fibonacci"
)

133
Diagramme circulaire

depenses <- c(Loyer=3000, Resto=2000,


Transport=1000, Voyage=800, Autre=500)

pie(depenses,
main = "Diagramme circulaire",
)

134
Diagramme en boîte

boxplot(notes,
main = "boxplot"
)

135
Diagrammes multiples

Il est possible d'intégrer plusieurs graphiques dans un seul


tracé à l'aide de la fonction par() Le paramètre mfrow
permet de spécifier le nombre de sous-graphes. Il prend en
compte un vecteur de la forme c(m, n)qui divise le
graphique donné en un tableau de m*n de sous-graphes.

par(mfrow = c(1, 2))


barplot(Fibonacci)
pie(depenses)

136
Sauvegarder un diagramme en tant qu’image

Pour sauvegarder un diagramme sous forme d'image, il faut suivre les étapes suivantes. Veuillez noter
que nous devons appeler la fonction [Link]() pour sauvegarder le fichier.

png(file="[Link]", width=600, height=350)


barplot( Fibonacci,
main = "Graphique à barres",
xlab = "Index",
ylab = "Fibonacci"
)
[Link]()

137
Filtrer les données

138
Filtrer les données

La fonction filter() est utilisée pour produire un sous-ensemble de la base de données, en conservant
toutes les lignes qui satisfont aux conditions spécifiées.

Les expressions comprennent des opérateurs de comparaison (==, >, >= ), des opérateurs logiques (&, |, !,
xor()), des opérateurs de plage (between(), near()) ainsi qu'une vérification de la valeur NA par rapport
aux valeurs des colonnes.

Le sous-ensemble de données doit être conservé dans une variable distincte.

139
Filtrer les données

Nous pouvons utiliser la fonction filter() directement:

library(dplyr)

# sample data
df=[Link](x=c(12,31,4,66,78),
y=c(22.1,44.5,6.1,43.1,99),
z=c(TRUE,TRUE,FALSE,TRUE,TRUE))

# condition
filter(df, x<50 & z==TRUE)

140
Filtrer les données

Nous pouvons aussi utiliser %>%

library(dplyr)

df=[Link](x=c(12,31,4,66,78),
y=c(22.1,44.5,6.1,43.1,99),
z=c(TRUE,TRUE,FALSE,TRUE,TRUE))

df %>%
filter(y < 45, z != FALSE)

141
Filtrer les données

La fonction [Link]() accepte une valeur et renvoie VRAI s'il s'agit d'une valeur NA et FAUX s'il ne s'agit pas
d'une valeur NA.

library(dplyr)

df=[Link](x=c(12,31,NA,NA,NA),
y=c(22.1,44.5,6.1,10,99),
z=c(TRUE,TRUE,FALSE,TRUE,TRUE))

df %>% filter(![Link](x))

142
Filtrer les données

L'opérateur %in% est utilisé pour filtrer uniquement les colonnes qui contiennent les données fournies
dans le vecteur.

library(dplyr)

df=[Link](x=c(12,31,10,2,99),
y=c(22.1,44.5,6.1,10,99),
z=c("Apple","Guava", "Mango", "Apple","Mango"))

df %>%
filter(z %in% c("Apple", "Mango"))

143
Concepts additionnels

144
Ajouter une colonne à un dataframe

# creating a data frame


df1 = [Link](id = c(1, 2, 3),
name = c("Omar", "Sanaa", "Ali"))
# adding a new column to the data frame using $ symbol
df1$branch = c("MGM", "MGAM", "ISN")

# printing the updated data frame


print(df1)

145
Supprimer des colonnes d’un dataframe

df2 <- [Link](a=c('i','ii','iii','iv','v'),


x=c('I','II','III','IV','V'),
y=c(1,2,3,4,5),
z=c('a','b','c','d','e'))

print('Original dataframe:-')
df2

df2 = subset(df2, select = -c(x,z) )


print('Modified dataframe:-')
df2

146
Modifier les noms des colonnes d’un dataframe

# declaring the columns of data frame


df = [Link]( col1 = c('A', 'B', 'C', 'J', 'E', NA,'M'),
col2 = c(12.5, 9, 16.5, NA, 9, 20, 14.5),
col3 = c(NA, 3, 2, NA, 1, NA, 0))
# printing original data frame
print("Original data frame : ")
print(df)
# assigning new names to the columns of the data frame
colnames(df) <- c('C1','C2','C3')
# printing new data frame
print("New data frame : ")
print(df)
147
Ajouter une colonnes à l’aide de colonnes existantes

# R program to add new variables in a data frame


library(dplyr)

# Create a data frame


d <- [Link]( name = c("Ali", "Imane", "Sanaa", "Omar"),
salaire = c(1700, 1500, 1900, 1600),
prime = c(1900, 1000, 1600, 1750),
freelance = c("yes", "yes", "no", "no") )

# Calculating a variable x3 as sum of height and age


mutate(d, revenu = salaire + prime)

148
Fusion de deux dataframes

# Merging two data frames in R


d1 <- [Link](name=c("Ali", "Omar", "Alia"),
ID=c("111", "112", "113"))

d2 <- [Link](name=c("Sanaa", "Haroun"),


ID=c("114", "115"))

total <- merge(d1, d2, all=TRUE)


print(total)

149
R scripts

150
R scripts

Ecrire un script

## --- helloWorld.R
x <- "hello world"
print(x)

Exécuter le script avec la commande source()

source( "helloWorld.R" )

151
Boucles

Boucle while()

## --- while.R
x <- 0
while ( x < 100 ) {
x <- x + 1
}
print( x )

152
Boucles

Boucle for()

## --- for.R
for ( i in 1:3 ) {
print( "hello" )
}

153
Boucles

## --- for2.R
words <- c("you","decide",”now”)
for ( w in words ) {
[Link] <- nchar( w ) # calculate the number of letters
W <- toupper( w ) # convert the word to upper case letters
msg <- paste( W, "has", [Link], "letters" ) # a message to print
print( msg ) # print it
}

154
Conditions

## --- ifElse.R
# find out what day it is…
today <- [Link]() # pull the date from the system clock
day <- weekdays( today ) # what day of the week it is_
# now make a choice depending on the day…
if ( day == "Monday" ) {
print( "I don't like Mondays" )
} else {
print( "I'm a happy" )
}

155
Fonctions

## --- function1.R
addition <- function(x, y) {
z <- x + y
return(z)
}

156
Fonctions

## --- function1.R
puissance <- function(x, y = 1) {
#if y is not specified, the default value 1 will be used
z <- x^y
return(z)
}

157
R Markdown

158
R Markdown

R Markdown est un format de fichier qui combine du code R, du texte et la sortie du code en un seul
document. Il serait utile de produire des rapports incluant à la fois le code et votre narration.

Les documents R Markdown sont des fichiers de texte simple que vous pouvez éditer à l'aide de n'importe
quel éditeur de texte, y compris RStudio. En général, les fichiers R Markdown portent l'extension de nom
de fichier ".Rmd". Les fichiers R Markdown peuvent être convertis en plusieurs formats, y compris HTML
et PDF.

[Link]('rmarkdown')

159
R Markdown

RStudio vous fournira un modèle. Vous pouvez commencer votre travail d'édition à partir d'ici.

Une fois que vous avez fini d'éditer votre document R Markdown, vous pouvez l'enregistrer en tant que
fichier *.Rmd en texte clair. Vous pouvez également exporter le document au format HTML ou PDF.
RStudio appelle cela knit (pour tricoter). Vous pouvez le faire dans le menu Fichiers ou dans la barre
d'outils.

160
R Markdown

Markdown est un moyen d'introduire un formatage de base dans du texte brut.

Par exemple, vous pouvez créer un titre avec ## et une liste à puces avec *.

Il est facile à apprendre et à mémoriser. Il est facile de trouver sur l'internet une "Markdown cheat sheet".
Vous trouverez dans le slide suivant un exemple de syntaxe Markdown courante.

161
R Markdown
# Level-1 header
This is a markdown document.

## Level-2 header
You can make **bold** or *italic* in text. You can also create a
[link]([Link]

New paragraph needs a blank line to separate. And you can create a bulleted list:

* list item 1
* list item 2
* list item 2.1
* list item 3

or a numbered list:

1. list item
2. list item
162
R Markdown

Nous pouvons ajouter du code avec la syntaxe suivante

```{r}
# r code here
```
Les morceaux de code sont évalués lorsque vous faites un Knit de votre document R Markdown. Vous
verrez à la fois le code source R et la sortie évaluée.

163
R Markdown

Si vous ne voulez que la sortie mais pas le code qui l'a créée, vous ajoutez le paramètre echo=FALSE,
comme suit :

```{r, echo=FALSE}
# r code here
```

164
R Markdown

Pour plus d’information:

[Link]

165

Vous aimerez peut-être aussi