Vous êtes sur la page 1sur 5

TD n°1 : Introduction

àR
Rstudio

Voir également le lien https://edutechwiki.unige.ch/fr/RStudio

Vous avez la possibilité d’exécuter du code directement dans la console (en bas à gauche)
afin d’effectuer des calculs simples et d’obtenir des résultats immédiatement ou de rédiger
des scripts (en haut à gauche) afin de garder une trace de vos commandes. Vous devez
alors les exécuter (bouton dans l’interface) ou bien en sélectionnant le code et en appuyant
sur Ctrl+Entrée.

Tous les exercices de ce TD devront être réalisés sous forme de script à m’envoyer à la fin
de la séance avec comme nom de fichier :

Projet_tutore_actu_TD1_Nom_Prenom.rscript

A l’adresse dorothee.pages@gmail.com

Pensez à bien commenter votre code, cela fait partie des bonnes pratiques essentielles en
programmation. En R, pour ajouter un commentaire commencez une ligne par #.

1
Notions de base
Voir la cheat sheet fournie en Annexe.

Exercice n°1

Soit x un vecteur contenant les valeurs d’un échantillon :

x = (1 ; 18 ; 2 ; 1 ; 5 ; 2 ; 6 ; 1 ; 12 ; 3 ; 13 ; 8 ; 20 ; 1 ; 5 ; 7 ; 7 ; 4 ; 14 ; 10)

1. Créer le vecteur x dans R


2. Écrire une expression R permettant d’extraire les éléments suivants :
a. Le huitième élément de l’échantillon
b. Les cinq premiers éléments de l’échantillon
c. Les éléments strictement supérieurs à 12
d. Tous les éléments sauf les éléments en positions 5, 11 et 13

Exercice n°2

Soit x une matrice 10 × 7 obtenue avec la commande suivante :

x <- matrix(sample(1:100, 70), 7, 10)

Écrire des expressions R permettant d’obtenir les éléments de la matrice demandés ci-
dessous.

1. Créer la matrice dans R


2. Écrire des expressions R renvoyant les éléments de la matrice demandés ci-
dessous :
a. La valeur de l’élément situé à la 4ème ligne et 3ème colonne
b. Le contenu de la 3ème ligne
c. La 2ème et 5ème colonne simultanément
d. Les lignes dont les 6èmes éléments sont inférieurs à 20

2
Fonctions
Vous pouvez faire appel à des fonctions telles que (voir la cheat sheet ou la rubrique d’aide
pour plus de détails sur chacune des fonctions) :

- seq, rep : création facilitée de vecteur


- rbind, cbind : concaténer deux vecteurs en ligne ou en colonne
- sort, rank, order : fonction de tri, de rang et d’ordre
- head, tail : accéder aux premiers et derniers éléments d’un objet (vecteur, matrice…)
- unique
- which, which.min, which.max : identifier la position d’un élément dans un vecteur
- match : position de la premiere occurrence d’un élément dans un vecteur
- %in% : appurtenance d’une ou plusieurs valeurs dans un vecteur
- round, floor, ceiling, trunc : arrondi et troncature
- sum, prod, diff, mean, var, sd, min, max, range, median, quantile, summary :
sommaire et statistiques descriptives

Vous pouvez créer vos propres fonctions dans R en utilisant la syntaxe suivante :

Ma_fonction <- function(argument 1, argument 2 = valeur par defaut,…){

instructions
instructions
instructions
instructions
return(variable de resultat)
}

Très utiles, les fonctions apply, lapply, vapply permettent d’appliquer une même fonction bien
définies à tous les éléments d’un vecteur ou d’une liste sans faire appel aux boucles qui
consomment plus de temps.

Afin de consulter l’aide sur une fonction utiliser la commande ?nom_de_la_fonction

Exercice n°3

À l’aide des fonctions rep, seq et c seulement, générer les séquences suivantes

 080808
 1 4 7 10
 123123123123
 122333
 111223
 1 5.5 10
 111122223333

3
Exercice n°4

1. À l’aide de la commande apply, écrire des expressions R qui permettent de calculer


les grandeurs suivantes (il existe déjà des fonctions toute faites dans R pour
permettre de calculer ces grandeurs, merci de ne pas les utiliser) :
a. Somme des éléments pour chaque ligne d’une matrice
b. Somme des colonnes pour chaque colonne d’une matrice
c. Moyenne des éléments pour chaque ligne d’une matrice
d. Moyenne des éléments pour chaque colonne d’une matrice
2. Tester votre fonction sur une matrice de votre choix

Exercice n°5

1. Sans utiliser les fonctions évidentes générer la séquence


1! , 2! , … , 10! (le point d’exclamation correspond à la fonction factorielle)
2. Répéter l’exercice en utilisant les fonctions évidentes (factorial)
3. Comparer le temps d’exécution de vos deux solutions (vous devrez utiliser la fonction
Sys.time)

Exercice n°6

1. Simuler un échantillon de taille 20 avec la fonction sample.


2. Écrire une expression R permettant d’obtenir ou de calculer chacun des résultats
demandés ci-dessous :
a. Les six premiers éléments de l’échantillon.
b. La valeur minimale de l’échantillon.
c. La moyenne des cinq premiers éléments de l’échantillon.
d. La moyenne des cinq derniers éléments de l’échantillon.
e. La somme des 8 plus grands éléments de l’échantillon
f. Le produit des 6 plus petits éléments de l’échantillon

Exercice n°7

Extraire de ce vecteur les records du monde seulement, c’est-à-dire la première fois que
chaque temps a été réalisé.

4
Exercice n°8

Écrire une fonction gammaEuler qui approxime à l’ordre n ∈ N la constante γ d’Euler définie
par :

( )
n
γ= lim
n→+ ∞ k=1
∑ 1k −log ( n )

Exercice n°9

Estimons le nombre π par une méthode simulatoire appelée méthode de Monte-Carlo. Le


nombre π est défini comme le rapport entre le périmètre d’un cercle et son rayon et il
intervient également dans le calcul de l’aire du cercle.

Considérons un carré de côté c et un cercle de rayon r inscrit dans ce carré.

1. Questions préliminaires :
a. Quelle est l’aire du carré ?
b. Quelle est l’aire du cercle ?
c. Dans un repère orthonormé que si un point à pour coordonnée (x , y ) quelle
est sa distance à l’origine ?
d. En admettant que le centre du cercle soit l’origine du repère orthonormé, à
quelle condition un point de coordonnée ( x , y ) se situe dans le disque ?
e. En admettant que r =1, si on tire aléatoirement un point dans cet espace
[ −1 ;1 ] ×[−1 ; 1] quelle est sa probabilité d’être dans le disque ?
f. Quelle loi permet de tirer aléatoirement un nombre sur un intervalle donné de
manière équiprobable ?
2. Estimation de π
a. Quelle fonction permet de réaliser le tirage décrit en 1.f ?
b. Écrire une fonction qui prend en argument le nombre de simulations n et qui
renvoie une estimation π.
c. Vérifiez votre calcul, Pi est accessible dans R en tapant simplement pi
d. Comment évolue la précision de votre estimation en fonction de n ? Tracer
une courbe permettant de visualiser ce résultat

Vous aimerez peut-être aussi