0% ont trouvé ce document utile (0 vote)
5 vues29 pages

Introduction au langage R pour la prévision

Ce document est un cours d'introduction au langage R dans le cadre des méthodes de prévision, visant à enseigner les principes fondamentaux de R, la manipulation de données et l'analyse statistique. Il couvre divers sujets tels que les objets, les structures de données, les boucles, la création de fonctions, ainsi que l'importation de données. Le cours inclut également des références bibliographiques pour approfondir les connaissances sur R.

Transféré par

syalassane652
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)
5 vues29 pages

Introduction au langage R pour la prévision

Ce document est un cours d'introduction au langage R dans le cadre des méthodes de prévision, visant à enseigner les principes fondamentaux de R, la manipulation de données et l'analyse statistique. Il couvre divers sujets tels que les objets, les structures de données, les boucles, la création de fonctions, ainsi que l'importation de données. Le cours inclut également des références bibliographiques pour approfondir les connaissances sur R.

Transféré par

syalassane652
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

Méthodes de Prévision - Introduction au

langage R
MESA - Université de Nouakchott
Décembre 2024 (draft 0)
1 Objectifs du cours
2 Bibliographie
3 Présentation de R
3.1 Généralités
3.1.1 Points forts de R
3.1.2 Interface graphique de R
3.2 Présentation de RStudio
3.2.1 Interface RStudio
4 Bases du langage R
4.1 Les objets en R
4.1.1 Modes des objets en R
4.1.2 Longueur des objets en R
5 Structures de données en R
5.1 Les vecteurs
5.1.1 Création de vecteurs
5.1.2 Propriétés d’un vecteur
5.2 Les matrices
5.2.1 Création de matrices
5.2.2 Accès aux éléments d’une matrice
5.3 Les tableaux
5.3.1 Création d’un tableau
5.3.2 Accès aux éléments d’un tableau
5.4 Résumé des structures de données
6 L’objet ts
6.1 Syntaxe de base
7 Les conditions if et ifelse
8 Les séquences en R
8.1 L’opérateur :
8.1.1 Exemples
8.2 La fonction seq()
8.3 La fonction rep()
8.4 Génération aléatoire de séquences
9 Les boucles
9.1 1. La boucle for
9.2 2. La boucle while
9.3 3. La boucle repeat
10 Création des fonctions R
11 La documentation de R - l’aide
11.1 La documentation de R sur internet
12 Packages
12.1 Packages externes dans R
12.1.1 Installation de packages externes
12.1.2 Accès aux fonctions et données d’un package
12.1.3 Utilisation de require()
12.1.4 Précautions
13 Importation des données
13.1 Répertoire de travail en R
13.2 Importation des données - CSV

1 Objectifs du cours
Cette brève introduction au langage R est dispensée dans le cadre du cours de “Méthodes de Prévision” du
Master II Econométrie et Statistique Appliquée, afin de réaliser les objectifs suivants :

Maîtriser les principes fondamentaux du langage R et son utilisation en statistique et en économétrie.


Apprendre à manipuler les données et les objets en R, y compris les variables, les dataframes et les
fonctions.
Acquérir les compétences nécessaires pour effectuer des analyses statistiques et de la modélisation
économétrique en utilisant R.
Développer des compétences pratiques en programmation R pour résoudre des problèmes spécifiques
liés à l’analyse statistique et économétrique.
Fournir aux étudiants les bases nécessaires pour poursuivre des études avancées en économétrie et en
statistique.

2 Bibliographie
Voici une sélection d’ouvrages et de ressources utiles pour approfondir vos connaissances sur R :

Pierre Lafaye de Micheaux, Rémy Drouilhet et Benoît Liquet (2011), Le logiciel R, Maîtriser le langage,
Effectuer des analyses statistiques, Springer.
W. N. Venables, D. M. Smith et the R Core Team, An Introduction to R, Notes on R: A Programming
Environment for Data Analysis and Graphics, Version 4.3.0 (2023-04-21).
Vincent Goulet (2016), Introduction à la programmation en R. 5e édition.
Brian S. Everitt et Torsten Hothorn (2006), A Handbook of Statistical Analyses Using R. Chapman &
Hall/CRC - Taylor & Francis Group.
Christian Kleiber et Achim Zeileis (2008), Applied Econometrics with R. Springer.
Emmanuel Paradis (2005), R pour les débutants, [Link].

3 Présentation de R
3.1 Généralités
R est un logiciel d’analyse de données créé par Ross Ihaka et Robert Gentleman.
Il s’agit d’un langage de programmation informatique et d’un environnement de travail statistique.
Les utilisateurs exécutent des commandes en utilisant des instructions codées dans un langage
relativement simple.
R est un logiciel gratuit et open source (à code source ouvert).
Il est compatible avec différents systèmes d’exploitation (multiplateforme) tels que UNIX (et Linux),
Windows et Macintosh.
3.1.1 Points forts de R
R est un outil extrêmement puissant et complet, particulièrement bien adapté pour mettre en œuvre des
méthodes statistiques à l’aide de l’informatique. Il permet à l’utilisateur de développer ses propres outils
sous forme de packages.
Son langage de programmation est simple et efficace, intégrant les conditions, les boucles, la récursivité
et des fonctionnalités d’entrée-sortie.
R offre des capacités graphiques avancées pour la visualisation des données.
Le langage R repose sur la notion de vecteur, ce qui permet d’effectuer des calculs complexes de
manière concise et efficace, limitant le besoin d’utiliser des structures itératives comme les boucles for
et while .

3.1.2 Interface graphique de R


[Link] La console R
L’interface graphique de R sous Windows est relativement basique.
La console permet de saisir des instructions R (commandes) et affiche les résultats correspondants.
Les messages d’erreur sont également affichés dans la console.
Pour effacer le contenu de la console, tapez Ctrl+L ou cliquez sur Édition > Effacer la console.

[Link] L’éditeur R
Permet la saisie et le traitement de plusieurs instructions à la fois dans un script.
Pour ouvrir un nouveau script, cliquez sur Fichier > Nouveau script. Pour ouvrir un script existant,
cliquez sur Fichier > Ouvrir un script….
Les résultats des instructions R sont toujours affichés dans la console.
Vous pouvez enregistrer le contenu de l’éditeur en cliquant sur Fichier > Sauver ou en tapant Ctrl+S .

3.2 Présentation de RStudio


RStudio est un environnement de développement intégré (IDE) largement utilisé pour le langage R.
Il offre une interface conviviale et puissante pour la programmation, l’exécution de code, l’exploration
des données et la création de graphiques.
Ses fonctionnalités incluent l’édition de code avec mise en évidence de la syntaxe, l’historique des
commandes, la gestion des objets, des graphiques et des packages.
3.2.1 Interface RStudio

Interface RStudio

[Link] Les quatre panneaux principaux :


1. En haut à gauche : Scripts et fichiers
Permet de gérer vos scripts R et fichiers associés.

2. En bas à gauche : Console R


Console où vous pouvez saisir et exécuter vos commandes R.

3. En haut à droite : Objets, historique et environnement


Permet de consulter les objets en mémoire, l’historique des commandes, et l’environnement.

4. En bas à droite : Divers outils


Onglets pour naviguer dans les dossiers, visualiser des graphiques, gérer les packages, accéder à
l’aide, et utiliser la visionneuse.

4 Bases du langage R
4.1 Les objets en R
Les éléments tels que les variables, données, fonctions et résultats sont stockés sous forme d’objets
dans la mémoire.

Les noms d’objets peuvent contenir des lettres, chiffres, points ( . ) et soulignés ( _ ), mais sont
sensibles à la casse. En programmation, “sensible à la casse” signifie que le langage fait une distinction
entre les lettres majuscules et minuscules dans les noms de variables, fonctions, objets, ou autres
éléments. Ainsi, deux noms identiques à l’exception de leur casse (majuscules/minuscules) sont
considérés comme différents.

Dans le langage R, tout est considéré comme un objet. Cela inclut les variables qui stockent des
données, les fonctions, les opérateurs et même les symboles représentant les noms des objets. Chaque
objet possède au moins un mode (type de données: Décrit le type d’information que l’objet contient) et
une longueur: length . De plus, certains objets peuvent avoir des attributs supplémentaires
( attributs ) qui leur sont associés.

Exemple de création d’objet

x <- 15 # Crée un objet x contenant la valeur 15

4.1.1 Modes des objets en R


Voici un tableau récapitulatif des principaux modes d’objets en R :

Mode Description

numeric Objets contenant des nombres réels ou entiers

character Objets contenant des chaînes de caractères

logical Objets contenant des valeurs TRUE ou FALSE

complex Objets contenant des nombres complexes

list Objets contenant des collections hétérogènes

function Objets représentant des fonctions

NULL Valeur représentant un objet non défini ou vide

raw Objets contenant des données binaires

[Link] Identifier le mode d’un objet


La fonction mode() permet d’identifier le mode d’un objet.

Exemples :

# 1. Vecteur numérique
x <- c(1, 2, 3, 4) # Un vecteur numérique
mode(x)

## [1] "numeric"

# 2. Vecteur de caractères
y <- c("a", "b", "c") # Un vecteur de caractères
mode(y)

## [1] "character"

# 3. Objet logique
z <- TRUE # Une valeur logique
mode(z)

## [1] "logical"
# 4. Nombre complexe
w <- 1 + 2i # Un nombre complexe
mode(w)

## [1] "complex"

# 5. Liste
my_list <- list(1, "a", TRUE) # Une liste contenant des éléments hétérogènes
mode(my_list)

## [1] "list"

# 6. Fonction
my_function <- function(x) { x^2 } # Une fonction simple
mode(my_function) # Résultat : "function"

## [1] "function"

# 7. Objet NULL
null_obj <- NULL # Un objet non défini ou vide
mode(null_obj)

## [1] "NULL"

4.1.2 Longueur des objets en R


La longueur d’un objet en R représente le nombre d’éléments qu’il contient. Cette mesure est obtenue à l’aide
de la fonction length() . La fonction nchar() , quant à elle, permet de déterminer le nombre de caractères
dans une chaîne de caractères.

[Link] Exemples
1. Longueur d’un vecteur numérique: Un vecteur contenant plusieurs éléments numériques.

# Un vecteur numérique contenant trois éléments


v1 <- c(1, 2, 3)
length(v1)

## [1] 3

2. Longueur d’une chaîne de caractères: Une chaîne de caractères est considérée comme un élément
unique, quel que soit le nombre de caractères qu’elle contient.

# Une chaîne de caractères unique


v2 <- "analyse"
length(v2)
## [1] 1

3. Longueur d’un vecteur contenant plusieurs chaînes: Chaque chaîne est traitée comme un élément
distinct dans le vecteur.

# Vecteur avec trois chaînes


v3 <- c("R", "est", "puissant")
length(v3)

## [1] 3

4. Objets de longueur zéro: Un objet peut exister tout en n’ayant aucun élément. Cela inclut des vecteurs
vides, des listes vides, ou des chaînes vides.

# Vecteur avec trois chaînes


vecteur_vide <- numeric(0) # Un vecteur numérique vide
length(vecteur_vide)

## [1] 0

5. Chaîne vide: Une chaîne vide a une longueur de 1, mais elle contient zéro caractère.

chaine_vide <- ""


length(chaine_vide)

## [1] 1

nchar(chaine_vide)

## [1] 0

6. Liste vide: Une liste vide est un objet valide mais sans contenu.

liste_vide <- list()


length(liste_vide)

## [1] 0

7. L’objet spécial NULL: En R, NULL est un objet spécial qui représente une absence d’objet ou une valeur
non définie. Il est différent des objets vides.

Propriétés de NULL
Son mode est “NULL”.
Sa longueur est toujours zéro.
Il ne représente pas un objet vide mais une absence d’objet.
Exemples:
Création d’un objet NULL
obj_null <- NULL
mode(obj_null)
## [1] "NULL"

length(obj_null)

## [1] 0

Différence entre NULL et un vecteur vide: Un vecteur vide a un type défini, contrairement à
NULL.
vecteur_vide <- numeric(0) # Vecteur numérique vide
[Link](vecteur_vide)

## [1] FALSE

[Link](obj_null)

## [1] TRUE

Tester si un objet est NULL: La fonction [Link]() permet de vérifier si un objet est NULL.
vecteur_vide <- numeric(0) # Vecteur numérique vide
[Link](vecteur_vide)

## [1] FALSE

[Link](obj_null)

## [1] TRUE

8. Compter les caractères avec nchar() : La fonction nchar() est utilisée pour compter le nombre de
caractères dans une chaîne ou dans chaque élément d’un vecteur de chaînes.

Exemples:

Nombre de caractères dans une chaîne unique

texte <- "programmation"


nchar(texte)

## [1] 13

Nombre de caractères dans chaque élément d’un vecteur de chaînes:

mots <- c("R", "statistiques", "modélisation")


nchar(mots)

## [1] 1 12 12

Comparaison entre NULL et un objet vide


Le tableau suivant résume les principales différences entre un objet NULL et un objet vide (longueur zéro) en
R.

## Warning: le package 'knitr' a été compilé avec la version R 4.3.3

Comparaison entre NULL et un objet vide

Caractéristique NULL Objet vide (longueur zéro)

Mode “NULL” Dépend du type (e.g., “numeric”)

Longueur 0 0

Représentation Absence d’objet Objet existant mais sans élément

Test avec [Link]() TRUE FALSE

Résumé

La fonction length() mesure le nombre d’éléments dans un objet.

La fonction nchar() mesure le nombre de caractères dans une chaîne.

Un objet vide a une longueur zéro mais existe dans l’environnement.

NULL représente une absence d’objet, différent d’un objet vide.

Valeurs manquantes, indéterminées et infinies

En analyse statistique, il est fréquent de rencontrer des valeurs manquantes, infinies ou indéterminées. R offre
plusieurs outils pour gérer ces situations, notamment l’objet spécial NA pour les données manquantes, ainsi
que des représentations pour Inf , -Inf et NaN .

Valeurs manquantes avec NA

NA est utilisé en R pour représenter une valeur manquante. Voici quelques propriétés importantes de NA :

Le mode de NA est logical par défaut.

Une opération impliquant NA retourne NA comme résultat.

NA n’est égal à aucune autre valeur, y compris lui-même.

Les pérateurs en R

Résumé des opérateurs en R

Operateur Description Exemple Resultat

+ Addition 2+3 5

- Soustraction 5-3 2

* Multiplication élément par élément c(1, 2) * c(3, 4) 3, 8

/ Division élément par élément c(6, 8) / c(2, 4) 3, 2

^ Puissance élément par élément c(2, 3) ^ c(2, 3) 4, 27


Operateur Description Exemple Resultat

%% Modulo 10 %% 3 1

%/% Division entière 10 %/% 3 3

%*% Multiplication matricielle A %*% B Produit matriciel

t() Transposition de matrice t(A) Transpose de A

solve() Inversion de matrice solve(A) Matrice inverse de A

det() Déterminant d’une matrice det(A) Valeur du déterminant

diag() Extraction ou création de diagonale diag(A) Diagonale de A ou matrice


diagonale

: Séquence 1:5 12345

< Inférieur 3<5 TRUE

> Supérieur 5>3 TRUE

<= Inférieur ou égal 3 <= 3 TRUE

>= Supérieur ou égal 4 >= 5 FALSE

== Égalité 5 == 5 TRUE

!= Différent 5 != 3 TRUE

& ET logique (élément par élément) TRUE & FALSE FALSE

&& ET logique (court-circuit) TRUE && FALSE FALSE

| OU logique (élément par élément) TRUE | FALSE TRUE

|| OU logique (court-circuit) TRUE || FALSE TRUE

! NON logique !TRUE FALSE

%in% Appartenance 3 %in% c(1, 2, 3) TRUE

<- Affectation x <- 5 x contient 5

$ Accès à une colonne dans une liste ou un df$colonne Valeur de la colonne


data frame

[] Accès par indice x[1] Premier élément de x

[[]] Accès élément spécifique dans une liste list[[1]] Premier élément brut

:: Accès à une fonction spécifique d’un dplyr::filter La fonction filter du package


package dplyr

crossprod() Produit scalaire ou produit croisé crossprod(A) Produit de t(A) %*% A

5 Structures de données en R
En R, les données peuvent être organisées dans différentes structures en fonction de leur complexité et de
leur utilisation. Les principales structures de données incluent les vecteurs, matrices, tableaux, listes, et
data frames.
5.1 Les vecteurs
Un vecteur est une collection de données homogènes (du même type). Les vecteurs sont la structure de base
en R.

5.1.1 Création de vecteurs


# Vecteur numérique
vecteur_num <- c(1, 2, 3, 4)
vecteur_num

## [1] 1 2 3 4

[Link](vecteur_num)

## [1] TRUE

# Vecteur de caractères
vecteur_char <- c("A", "B", "C")

# Vecteur logique
vecteur_log <- c(TRUE, FALSE, TRUE)

5.1.2 Propriétés d’un vecteur


length(vecteur_num) # Longueur du vecteur

## [1] 4

class(vecteur_char) # Classe ou type des données

## [1] "character"

[Link](vecteur_num) # Vérification du type

## [1] TRUE

5.2 Les matrices


Une matrice est une structure de données bidimensionnelle contenant des éléments homogènes.
5.2.1 Création de matrices
# Matrice 2x3
mat <- matrix(1:6, nrow = 2, ncol = 3)
print(mat)

## [,1] [,2] [,3]


## [1,] 1 3 5
## [2,] 2 4 6

# Matrice 2x3
mat <- matrix(1:6, nrow = 2, ncol = 3, byrow=TRUE)
print(mat)

## [,1] [,2] [,3]


## [1,] 1 2 3
## [2,] 4 5 6

En R, l’argument byrow est utilisé pour contrôler comment les données sont remplies dans une matrice lors de
sa création.

byrow : Remplissage par lignes


byrow = TRUE signifie que les données sont insérées dans la matrice ligne par ligne.
Les valeurs sont remplies horizontalement avant de passer à la ligne suivante.
Dans R, le remplissage par défaut est colonne par colonne.

5.2.2 Accès aux éléments d’une matrice


mat[1, 2] # Accès à l'élément de la 1ère ligne, 2ème colonne

## [1] 2

mat[, 1] # Accès à la première colonne

## [1] 1 4

mat[2, ] # Accès à la deuxième ligne

## [1] 4 5 6

5.3 Les tableaux


Les tableaux (arrays) sont une généralisation des matrices pour les données avec plus de deux dimensions.
5.3.1 Création d’un tableau
# Tableau 3D
tab <- array(1:12, dim = c(2, 3, 2))
print(tab)

## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 7 9 11
## [2,] 8 10 12

5.3.2 Accès aux éléments d’un tableau


tab[1, 2, 1] # Accès à l'élément (1,2,1)

## [1] 3

Dans l’expression tab[1, 2, 1] :

1 représente la première ligne.


2 représente la deuxième colonne.
1 représente la première “profondeur” (ou le premier “plan”).

5.4 Résumé des structures de données


Résumé des structures de données

Structure Description Homogénéité Dimensions

Vecteur Collection d’éléments simples Oui 1

Matrice Données bidimensionnelles Oui 2

Tableau Extension multidimensionnelle Oui 2+

Liste Collection d’objets variés Non 1

Data Frame Tableau de données Non 2

6 L’objet ts
L’objet ts est une structure de données dédiée à la représentation des séries temporelles dans R. Il permet
d’associer directement les observations à une échelle de temps, ce qui facilite leur analyse et leur visualisation.
6.1 Syntaxe de base
La syntaxe générale de la fonction ts() est la suivante :

ts(data, start = , end = , frequency = )

Voici quelques points clés concernant l’objet ts :

Création :
L’objet ts est créé à l’aide de la fonction ts() . Cette fonction prend en argument un vecteur de données
et permet de spécifier :
start : la date de début de la série (par exemple, c(1990, 1) pour janvier 1990).
Pour des séries annuelles, il suffit de préciser l’année (ex. start = 1990).
Pour des séries avec une fréquence supérieure à 1 (mensuelle, trimestrielle, etc.), on
indique généralement un vecteur de deux éléments, par exemple start = c(1990, 1) pour
indiquer que la série commence en janvier 1990.
end : La dernière observation de la série (facultatif)
frequency : La fréquence des observations. Quelques exemples courants :
1 pour des données annuelles
2 pour des données semestrielles
4 pour des données trimestrielles
6 pour des données bimestrielles
12 pour des données mensuelles
Exemple 1:

# Création d'une série temporelle mensuelle commençant en janvier 1990


data_vector <- rnorm(120, mean = 50, sd = 10)
# Exemple avec 10 ans de données mensuelles
ts_data <- ts(data_vector, start = c(1990, 1), frequency = 12)
ts_data[1:12] # Affiche les données de la première année

## [1] 41.42337 33.41436 38.76671 26.03294 54.91477 61.63700 49.12713 65.14334


## [9] 58.06286 62.90778 52.47633 53.05332

Représentation graphique d’une série temporelle : La commande [Link]() epermet d’afficher une
série temporelle sous forme de graphique. Cette fonction est utile pour visualiser les tendances, les
cycles et les fluctuations des données chronologiques. La commande [Link]() affiche directement
l’évolution des observations au fil du temps, sans avoir à préciser explicitement l’axe des abscisses (la
dimension temporelle étant intégrée dans l’objet ts).

# Visualisation de la série temporelle


[Link](ts_data, main = "Évolution de la série temporelle", ylab = "Valeur", xlab = "Temps")
Exemple 2:

# Exemple de tracé d'une série temporelle


ventes <- ts(c(100, 90, 140, 150, 130, 190, 100, 95, 105, 130, 98, 180),
start = c(2000), frequency = 1)

[Link](ventes,
main = "Titre du graphique", # Titre du graphique
ylab = "Ventes", # Label pour l'axe des ordonnées
xlab = "Années", # Label pour l'axe des abscisses
col = "blue", # Couleur de la courbe
lwd = 2) # Épaisseur de la ligne
7 Les conditions if et ifelse
L’instruction if est utilisée pour exécuter un bloc de code uniquement si une condition spécifiée est vraie.
Sa syntaxe générale est la suivante :

if (condition) {
# Code exécuté si condition est TRUE
} else {
# Code exécuté si condition est FALSE
}

Si la condition est vraie, le bloc de code [Link] est exécuté. Sinon, le bloc de code [Link]
(s’il est présent) est exécuté.
Il est possible d’omettre le bloc else si aucune action n’est requise quand la condition est fausse.
Si [Link] ou [Link] comporte plus d’une expression, il est nécessaire de les regrouper dans
des accolades {}.
La fonction ifelse() est une version vectorisée de l’instruction if. Elle retourne un vecteur de la même
longueur que la condition. Sa syntaxe est la suivante :

ifelse(condition, valeur_si_TRUE, valeur_si_FALSE)

Pour chaque élément TRUE de la condition, l’élément correspondant de [Link] est choisi. Pour
chaque élément FALSE, l’élément correspondant de [Link] est choisi.
Cette fonction est utile pour appliquer une condition à tous les éléments d’un vecteur.
x <- c(2, 7, 4, 9)

resultat <- ifelse(x > 5, "Grand", "Petit")


print(resultat)
# Résultat : "Petit" "Grand" "Petit" "Grand"

En résumé, les instructions if et ifelse sont essentielles pour l’exécution conditionnelle de commandes
en R. if permet d’exécuter un bloc de code en fonction d’une seule condition, tandis que ifelse permet
d’appliquer une condition à tous les éléments d’un vecteur et de créer un nouveau vecteur basé sur les
résultats de cette condition. Il est important de comprendre les spécificités de ces structures de contrôle
pour écrire un code R correct et efficace.

8 Les séquences en R
Les séquences sont une composante essentielle en R, souvent utilisées pour générer des vecteurs de
nombres selon un intervalle ou une règle définie. Elles sont utiles pour automatiser des tâches, créer des
indices ou préparer des données.

8.1 L’opérateur :
L’opérateur : permet de créer une séquence de nombres entiers dans un ordre croissant ou décroissant.

8.1.1 Exemples
# Séquence croissante
seq1 <- 1:10
print(seq1)

## [1] 1 2 3 4 5 6 7 8 9 10

# Séquence décroissante
seq2 <- 10:1
print(seq2)

## [1] 10 9 8 7 6 5 4 3 2 1

8.2 La fonction seq()


La fonction seq() offre plus de flexibilité que l’opérateur : en permettant de spécifier :

La taille des pas.

Le nombre total d’éléments.

Arguments de base

from : Valeur de début.


to : Valeur de fin.
by : Pas entre les valeurs.
[Link] : Nombre total d’éléments.
# Séquence avec des pas de 2
seq3 <- seq(from = 1, to = 10, by = 2)
print(seq3)

## [1] 1 3 5 7 9

# Séquence avec un nombre total d'éléments


seq4 <- seq(from = 0, to = 1, [Link] = 5)
print(seq4)

## [1] 0.00 0.25 0.50 0.75 1.00

8.3 La fonction rep()


La fonction rep() permet de répéter des valeurs ou des séquences.

Arguments de base
x : Les valeurs ou séquences à répéter.
times : Nombre de répétitions.
each : Nombre de répétitions de chaque élément individuellement.

# Répéter une valeur plusieurs fois


rep1 <- rep(x = 5, times = 4)
print(rep1)

## [1] 5 5 5 5

# Répéter chaque élément d’un vecteur


rep2 <- rep(x = c(1, 2, 3), each = 2)
print(rep2)

## [1] 1 1 2 2 3 3

# Répéter un vecteur entier plusieurs fois


rep3 <- rep(x = c(1, 2, 3), times = 2)
print(rep3)

## [1] 1 2 3 1 2 3

8.4 Génération aléatoire de séquences


En plus des fonctions standard, R permet de générer des séquences aléatoires.

La fonction sample() permet de tirer, de façon aléatoire, un échantillon d’une séquence ou d’un vecteur.

Arguments de base x : Le vecteur ou la séquence à échantillonner. size : Taille de l’échantillon. replace :


Booléen, indique si les tirages se font avec ou sans remise.
# Tirage sans remise
sample1 <- sample(x = 1:10, size = 5, replace = FALSE)
print(sample1)

## [1] 8 5 10 4 3

# Tirage avec remise


sample2 <- sample(x = c("A", "B", "C"), size = 6, replace = TRUE)
print(sample2)

## [1] "C" "B" "C" "B" "B" "C"

9 Les boucles
Les boucles sont des mécanismes qui permettent d’exécuter plusieurs fois un ensemble d’instructions. Ce
concept consiste à automatiser des processus en répétant des actions ou des étapes préétablies. R prend en
charge plusieurs types de boucles : for , while , et repeat .

Toutes les langages de programmation modernes intègrent des structures permettant la répétition
d’instructions ou de blocs d’instructions.

Il existe deux types principaux de boucles dans la plupart des langages de programmation :

Boucles basées sur un compteur : Ces boucles exécutent un bloc d’instructions un nombre prédéfini de
fois, contrôlé par un index incrémenté à chaque itération. Elles appartiennent généralement à la famille
des boucles for .

Boucles basées sur une condition : Ces boucles continuent d’exécuter les instructions tant qu’une
condition logique est remplie. La condition peut être vérifiée au début ou à la fin de chaque itération, ce
qui correspond respectivement aux familles de boucles while et repeat .

En résumé, les boucles sont essentielles pour automatiser et simplifier des tâches répétitives en
programmation.

9.1 1. La boucle for


Cette boucle est utilisée pour répéter un bloc de code un nombre spécifique de fois. La syntaxe générale est
for for (variable in séquence) {expression} . La variable prendra successivement chaque valeur de la
séquence, et le bloc de code sera exécuté à chaque fois (à chaque itération).

Syntaxe:

for (variable in sequence) {


# Instructions à exécuter
}

Exemples
# Calculer le carré des nombres de 1 à 5
for (i in 1:5) {
print(i^2)
}

## [1] 1
## [1] 4
## [1] 9
## [1] 16
## [1] 25

# Parcourir un vecteur et imprimer chaque élément


vecteur1 <- c("A", "B", "C")
for (alpha in vecteur1) {
print(alpha)
}

## [1] "A"
## [1] "B"
## [1] "C"

9.2 2. La boucle while


La boucle while est utilisée lorsque vous voulez répéter des instructions tant qu’une condition est vraie. Il faut
s’assurer que la condition devienne fausse à un moment donné, pour éviter une boucle infinie.

while (condition) {
# Instructions à exécuter
}

Exemples

# Répéter jusqu'à ce qu'une condition soit fausse


compteur <- 1
while (compteur <= 5) {
print(compteur)
compteur <- compteur + 1
}

## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5

9.3 3. La boucle repeat


La boucle repeat exécute indéfiniment un bloc d’instructions jusqu’à ce qu’une condition d’arrêt soit rencontrée
(via la commande break). Cette boucle répète un bloc de code indéfiniment. Il est nécessaire d’inclure une
commande break à l’intérieur du bloc de code afin d’arrêter la boucle quand une condition est remplie. Une
boucle repeat est toujours exécutée au moins une fois.

repeat {
# Instructions à exécuter
if (condition) {
break
}
}

Exemple

# Répéter jusqu'à atteindre une condition


compteur <- 1
repeat {
print(compteur)
compteur <- compteur + 1
if (compteur > 5) {
break
}
}

## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5

Les boucles while et repeat en R sont deux structures permettant d’exécuter un bloc d’instructions de manière
répétitive, mais elles diffèrent par leur fonctionnement et leur utilisation. Voici les principales différences :

Contrôle de la condition
while
La condition est vérifiée avant l’exécution des instructions.
Si la condition est fausse dès le début, le bloc d’instructions n’est jamais exécuté.
repeat
La condition est vérifiée après l’exécution des instructions (via un if et un break ).
Le bloc d’instructions est toujours exécuté au moins une fois, même si la condition est
fausse.
Condition d’arrêt
while
La condition d’arrêt est intégrée dans la déclaration même de la boucle.
Lorsque la condition devient fausse, la boucle s’arrête automatiquement.
repeat
Pas de condition d’arrêt automatique. Il faut utiliser break pour sortir de la boucle
manuellement.
Si aucun break n’est inclus, la boucle s’exécutera indéfiniment.

Il est important de noter que, bien que les boucles soient disponibles en R, elles doivent être utilisées avec
parcimonie car elles sont généralement inefficaces. Dans la plupart des cas, il est préférable de vectoriser les
calculs pour éviter les boucles explicites. La vectorisation permet d’appliquer des opérations à des vecteurs
entiers plutôt qu’à chaque élément individuellement, ce qui est plus rapide et plus efficace. Il existe également
d’autres fonctions telles que outer, apply, lapply, sapply et mapply qui permettent de réaliser des boucles de
manière plus efficace.
Exercices

1. Boucle for
Créez un vecteur nommé “nombres” contenant les nombres de 1 à 10.
À l’aide d’une boucle for, effectuez les tâches suivantes :
Calculez le carré de chaque nombre du vecteur et affichez-le dans la console.
Déterminez si chaque nombre est pair ou impair et affichez le résultat dans la console.
2. Boucle while
Écrivez un programme en R qui utilise une boucle while pour calculer les puissances de 2 (2^n).
Continuez la boucle jusqu’à ce que la puissance calculée dépasse 1000.
À la fin, affichez :
La valeur de la première puissance de 2 supérieure à 1000.
L’exposant correspondant (n).
3. Boucle repeat
Écrivez un programme en R qui utilise une boucle repeat pour trouver le premier multiple de 7
supérieur à un nombre donné n (n=30).
Le programme doit :
Initialiser une variable x à n + 1.
Vérifier si x est un multiple de 7 (utilisez l’opérateur modulo %%).
Si oui, arrêter la boucle et afficher x.
Sinon, incrémenter x et continuer.
Affichez le résultat avec une phrase comme : “Le premier multiple de 7 supérieur à n est :
…”

Exo 1.

# Étape 1 : Créez le vecteur


nombres <- 1:10

# Étape 2 : Utilisez une boucle for


for (n in nombres) {
# Calculez le carré du nombre
carre <- n^2

# Vérifiez si le nombre est pair ou impair


if (n %% 2 == 0) {
print(paste(n, "est pair. Son carré est :", carre))
} else {
print(paste(n, "est impair. Son carré est :", carre))
}
}

Exo 2.
# Initialisation des variables
n <- 0 # Exposant
valeur <- 1 # Puissance de 2 initiale (2^0)

# Utilisation de la boucle while


while (valeur <= 1000) {
n <- n + 1 # Incrémentation de l'exposant
valeur <- 2^n # Calcul de la puissance de 2
}

# Affichage des résultats


print(paste("La première puissance de 2 supérieure à 1000 est :", valeur))
print(paste("L'exposant correspondant est :", n))

Exo 3.

# Initialisation de la variable
n <- 30 # Nombre donné
x <- n + 1 # Commencer à chercher au-dessus de n

# Utilisation de la boucle repeat


repeat {
if (x %% 7 == 0) { # Vérifie si x est un multiple de 7
break # Arrête la boucle si la condition est remplie
}
x <- x + 1 # Incrémente x si ce n'est pas un multiple
}

# Affichage du résultat
print(paste("Le premier multiple de 7 supérieur à", n, "est :", x))

10 Création des fonctions R


En R, la création de fonctions est une étape essentielle pour structurer votre code, automatiser des tâches
répétitives et améliorer la lisibilité et la réutilisabilité. Une fonction est définie en R avec une syntaxe simple et
flexible:

fun <- function(arguments) expression

où: * fun est le nom de la fonction, qui suit les mêmes règles que les autres noms d’objets. * arguments est
une liste d’arguments, séparés par des virgules. Ces arguments peuvent avoir des valeurs par défaut. *
expression est le corps de la fonction, qui peut être une expression simple ou un bloc d’expressions
délimité par des accolades {} .

Valeur de retour d’une fonction

Une fonction retourne la valeur de la dernière expression évaluée dans son corps.
Il est possible d’utiliser la fonction return() pour retourner une valeur et sortir de la fonction avant la
dernière ligne.

Variables locales et globales


Les variables définies à l’intérieur d’une fonction sont locales à cette fonction. Elles n’apparaissent
pas dans l’espace de travail global et ne peuvent pas écraser les variables de même nom existant dans
l’espace de travail.
On peut définir une fonction à l’intérieur d’une autre fonction, ce qui rend cette fonction locale à la
fonction dans laquelle elle est définie.

Exemple de création de fonction

Voici un exemple d’une fonction R qui calcule le carré d’un nombre.

# Définition de la fonction
carre <- function(x) {
return(x^2) # Renvoie le carré de x
}

# Appel de la fonction
resultat <- carre(5) # Calcule le carré de 5
print(resultat) # Affiche 25

Autres éléments importants

Il est possible de passer des valeurs à une fonction via l’argument ... .
En R, l’argument ... permet de passer un nombre arbitraire d’arguments à une fonction. Cela est utile
lorsque vous ne connaissez pas à l’avance le nombre exact d’arguments que vous devez passer ou
lorsque vous voulez transmettre des arguments à une autre fonction appelée à l’intérieur de votre
fonction.
Voici une fonction qui utilise ... pour calculer la somme de plusieurs nombres:

# Définition de la fonction
somme_plusieurs <- function(...) {
return(sum(...)) # Utilise sum() pour additionner tous les arguments passés
}

# Appel de la fonction
resultat <- somme_plusieurs(1, 2, 3, 4, 5)
print(resultat) # Résultat : 15

sum(...) : La fonction sum() utilise tous les arguments passés via ... pour effectuer l’addition.

L’appel de fonctions peut se faire en utilisant des arguments par leur position ou en utilisant le format
nom = valeur . Il est recommandé de spécifier les arguments par leur nom, surtout après les deux ou
trois premiers arguments.

Une fonction peut être définie à l’intérieur d’une autre fonction, la rendant locale à la fonction dans
laquelle elle est définie.

Il est possible de créer des fonctions génériques et de créer des méthodes pour ces fonctions.

11 La documentation de R - l’aide
Lorsque vous utilisez R, vous avez accès à plusieurs ressources d’aide pour vous assister dans votre travail.
Voici quelques-unes des principales sources d’aide disponibles :

Documentation intégrée:
R dispose d’une documentation intégrée complète (en anglais) que vous pouvez consulter directement
depuis la console.
Pour obtenir de l’aide sur une fonction spécifique, utilisez :
?nom_de_la_fonction ou help(nom_de_la_fonction) .
Fenêtre d’aide HTML :
La fonction [Link]() ouvre une fenêtre d’aide HTML dans votre navigateur. Cette fenêtre fournit :
Documentation complète sur R et ses packages,
Exemples, tutoriels et manuels d’utilisation.
Exemple

?lm

lm {stats} R Documentation

Fitting Linear Models


Description

lm is used to fit linear models, including multivariate ones. It can be


used to carry out regression, single stratum analysis of variance and
analysis of covariance (although aov may provide a more convenient
interface for these).

Usage
lm(formula, data, subset, weights, [Link],
method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE,
[Link] = TRUE, contrasts = NULL, offset, ...)

## S3 method for class 'lm'


print(x, digits = max(3L, getOption("digits") - 3L), ...)

Arguments

an object of class "formula" (or one that can be coerced to that


formula class): a symbolic description of the model to be fitted. The
details of model specification are given under ‘Details’.

11.1 La documentation de R sur internet


L’aide sur R est accessible sur Internet via différents sites et ressources en ligne. Voici quelques-unes
des principales sources d’aide sur R disponibles sur Internet :
Site officiel de R : [Link] ([Link]
RDocumentation : [Link] ([Link]
Stack Overflow : [Link]
([Link]
R-bloggers : [Link] ([Link]

12 Packages
Les packages sont des bibliothèques contenant un ensemble de fonctions et de données pouvant être
utilisées sous R.

Les packages de base de R sont automatiquement installés avec R et sont chargés par défaut lorsque
vous démarrez R. Ils incluent des packages tels que :

stats : Statistiques de base.


graphics : Graphiques de base.
utils : Utilitaires.
datasets : Ensembles de données.
grDevices : Périphériques graphiques.
methods : Méthodes génériques et orientées objet.
Ces packages offrent des fonctionnalités essentielles pour l’analyse de données et la programmation
statistique.

Vous pouvez afficher les noms des packages de base disponibles en début de session en utilisant la
fonction search() :

search()

## [1] ".GlobalEnv" "package:knitr" "package:stats"


## [4] "package:graphics" "package:grDevices" "package:utils"
## [7] "package:datasets" "package:methods" "Autoloads"
## [10] "package:base"

12.1 Packages externes dans R


Extension des fonctionnalités avec des packages externes :
L’un des principaux avantages de R est sa capacité à ajouter facilement des fonctionnalités grâce
à des packages externes.
Les packages externes sont des extensions développées par la communauté R. Ils permettent
d’étendre les fonctionnalités de base en ajoutant de nouvelles fonctions et des bases de données.

12.1.1 Installation de packages externes


Pour installer un package externe, utilisez la fonction [Link]() .

Exemple : Pour installer le package ggplot2 , exécutez la commande suivante dans R :

[Link]("ggplot2")

Chargement et utilisation des packages


Chargement d’un package :

Une fois qu’un package est installé, vous pouvez le charger dans votre environnement R à l’aide
de la fonction library() .

Exemple : Pour charger le package ggplot2 , exécutez :

library(ggplot2)
12.1.2 Accès aux fonctions et données d’un package
Une fois chargé, vous pouvez accéder aux fonctions et ensembles de données fournis par le package.

Exemple : Après avoir chargé ggplot2 , vous pouvez utiliser des fonctions comme ggplot()
pour créer des graphiques avancés.
Recommandation :

Chargez tous les packages nécessaires au début de votre script R.


Cela garantit que :
Toutes les dépendances sont satisfaites.
Les fonctions et données des packages sont disponibles dès le début de votre analyse.

12.1.3 Utilisation de require()


Vous pouvez également utiliser la fonction require() pour charger un package.

Exemple :

require(ggplot2)

Différence entre library() et require() :

library() : Renvoie une erreur si le package n’est pas installé.


require() : Renvoie un avertissement si le package n’est pas installé, mais ne stoppe pas
l’exécution du script.

12.1.4 Précautions
Si un package est essentiel à votre script, privilégiez l’utilisation de library() pour éviter des
problèmes en cas d’absence du package.

13 Importation des données


L’importance de l’importation des données :
L’importation des données est une étape cruciale dans l’analyse de données et la modélisation
statistique.
Elle consiste à charger les données depuis des fichiers externes ou des sources de données en
ligne dans un logiciel ou un environnement de programmation comme R.
L’importation précise et correcte des données est essentielle pour pouvoir :
Les visualiser,
Les analyser,
En tirer des conclusions significatives.

13.1 Répertoire de travail en R


Qu’est-ce que le répertoire de travail ?
Le répertoire de travail en R fait référence au dossier ou répertoire sur votre système de fichiers
où R recherche et enregistre les fichiers par défaut.
Lorsque vous travaillez avec des fichiers (lecture ou écriture), le répertoire de travail est le point
de référence par défaut pour spécifier les chemins de fichiers.
Exemple pour vérifier ou définir le répertoire de travail :
Vérifier le répertoire actuel :
getwd()

## [1] "C:/Users/mocta/Dropbox/_________METHODES_PRIVISION/Chapitre II R"

Le résultat de l’exécution de la commande getwd() indique que le répertoire de travail actuel se


trouve dans le dossier R enregistré dans C → Users → moctar → Dropbox →
_________METHODES_PRIVISION
Changer le répertoire de travail :

setwd("chemin/vers/votre/dossier")

setwd() : Cette fonction permet de définir le répertoire de travail en spécifiant le chemin du dossier souhaité.
Exemple: Dans le code suivant, on demande à R de définir le dossier Projet1 du Bureau comme répertoire de
travail. Ensuite, on demande l’affichage du chemin vers le répertoire de travail actuel en utilisant getwd()

setwd("C:/Users/dell/Desktop/Projet1")
getwd()

Il est important de noter que le répertoire de travail par défaut peut varier en fonction de votre environnement
de travail. Par exemple, si vous utilisez un IDE spécifique comme RStudio, le répertoire de travail par défaut
peut être configuré automatiquement dans le répertoire du projet ou du script en cours d’exécution.

Lorsque vous spécifiez des chemins de fichiers dans R, notez les points suivants :

Utilisation des slashes (barres obliques) : R utilise les slashes avant (/) pour représenter la
séparation des répertoires dans les chemins de fichiers. Cette convention est issue de
l’environnement UNIX.

Sous Microsoft Windows, l’utilisation des anti-slashes ( \ ) dans les chemins de fichiers ne
fonctionne pas directement dans R. Cependant, si vous préférez utiliser des anti-slashes ( \ ),
doublez-les ( \\ ) pour les séparations de répertoires.

13.2 Importation des données - CSV


Les fichiers CSV (Comma-Separated Values) sont des fichiers texte utilisés pour stocker des données
tabulaires. Ils sont couramment utilisés pour échanger des données entre différentes applications, car ils sont
faciles à lire et à écrire. Voici quelques caractéristiques et propriétés des fichiers CSV :

Format de fichier : Les fichiers CSV sont des fichiers texte avec une extension .csv . Ils peuvent être
ouverts et lus avec un éditeur de texte ou importés dans des logiciels d’analyse de données tels que R,
SAS, Python, etc.
Structure des données : Les données dans un fichier CSV sont généralement organisées en lignes et en
colonnes, formant ainsi une structure tabulaire. Chaque ligne du fichier correspond à un enregistrement
ou une observation, et les valeurs de chaque enregistrement sont séparées par un délimiteur, qui est
souvent une virgule (,), d’où le nom comma-separated values (valeurs séparées par des virgules).
Les fichiers CSV peuvent utiliser différents caractères comme séparateurs de valeurs, en fonction des
conventions locales et des logiciels utilisés. Outre la virgule (,), d’autres délimiteurs courants sont le
point-virgule (;), le tabulateur ( \t ), l’espace ( ), etc.
Les arguments par défaut des fonctions [Link]() et read.csv2() présentés dans le tableau
précédent peuvent être modifiés;

Les arguments principaux de [Link]() et read.csv2() (issus de l’aide de R)

file : le nom du fichier à partir duquel les données doivent être lues. Chaque ligne du tableau
correspond à une ligne du fichier. S’il ne contient pas de chemin absolu, le nom du fichier est
relatif au répertoire de travail actuel, getwd() .

header : une valeur logique indiquant si le fichier contient les noms des variables sur sa première
ligne.

sep : le caractère de séparation des champs (=” \t “=TABULATION;” “=espace(s);”,“=, ; etc.).

dec : le separateur decimal “.” ou “,”

Vous aimerez peut-être aussi