Dans ce cours de programmation en R, nous utiliserons de temps en temps des tutoriels qui porteront sur des thèmes abordés en cours. Ces tutoriels interactifs vous permettront de vous entraîner avec des exercices très simples.

Exemple

Par exemple, utilisez la fenêtre interactive suivante pour exécuter la commande 2 + 2, puis cliquez sur le bouton "Run Code".

Pour certains exercices, je vous donnerai des indices, et la solution, auxquels vous pourrez accéder en cliquant sur le bouton "Hints" et "Solution". Par exemple: ci-dessous, créez un vecteur x contenant les entiers de 1 à 10. Cliquez sur le bouton "Solution" pour voir la solution

x <- 1:10

Ci-dessous, déclarez un vecteur x contenant les entiers de 1 à 10 au carré. Cliquez sur les indices successifs : le dernier indice sera la solution !

1:2^2
(1:2)^2
x <- (1:10)^2

Les sections suivantes contiennent des exercices sur les structures de données en R, la lecture de données, ainsi qu'un entraînement au clavier pour se rappeler comment écrire les symboles essentiels pour programmer en R !

Entraînement clavier

Commençons par l'entraînement au clavier !

En effet, en R, nous avons souvent besoin de caractères spéciaux dont l'utilisation n'est pas courante. Ce quiz vous permet de vous entraîner. Entrez la chaîne de caractères demandée et cliquez sur le bouton "Submit".

Quiz

Vecteurs et matrices

J'ai créé pour vous un vecteur vec et une matrice Mat.

vec <- structure(c(2L, 1L, 2L, 1L, 1L, 2L), .Label = c("val1", "val2"), class = "factor")
Mat <- structure(c(1.4758050122662, 0.460757577634441, 1.09787881859777, 
-0.576514555287794, 1.7806944930363, -1.34819815347259, -0.474234033382841, 
-0.277249593892861, 0.259424211813034, 0.802903573707708, -1.17702274849553, 
0.532834331766421, 0.680394042312619, 0.281655088161887, -1.17112056849342, 
-0.671549850839443, 0.873054071274946, 0.893642462873987), .Dim = c(6L, 
3L))

Explorez les objets vec et Mat :

  • quelles sont leurs dimensions ?
  • quelle est leur classe ?
  • quel est le type d'éléments qu'ils contiennent ?
# La fonction str permet de répondre à toutes
# les questions d'un seul coup
str(vec)
str(Mat)
# Sinon on peut utiliser la fonction class
class(vec)
class(Mat)
# Les fonctions length et dim
length(vec)
dim(Mat)

Data-frame

J'ai combiné vec et Mat dans une même data-frame df avec la commande suivante :

df <- data.frame(vec, Mat)

Explorez le résultat et utilisez trois méthodes différentes pour extraire la colonne qui correspond à vec.

vec <- structure(c(2L, 1L, 2L, 1L, 1L, 2L), .Label = c("val1", "val2"), class = "factor")
Mat <- structure(c(1.4758050122662, 0.460757577634441, 1.09787881859777, 
-0.576514555287794, 1.7806944930363, -1.34819815347259, -0.474234033382841, 
-0.277249593892861, 0.259424211813034, 0.802903573707708, -1.17702274849553, 
0.532834331766421, 0.680394042312619, 0.281655088161887, -1.17112056849342, 
-0.671549850839443, 0.873054071274946, 0.893642462873987), .Dim = c(6L, 
3L))
df <- data.frame(vec, Mat)
# On utilise str et summary pour explorer df
str(df)
summary(df)
# Voici trois méthodes pour extraire une colonne
# d'une data-frame
df$vec
df[,"vec"]
df[,1]
# Bonus
df["vec"]
df[["vec"]]