Skip to Tutorial Content

1. Introduction

Cliquer ici pour les diapos de cours

1.1 Quelques mots sur ce tuto

Ce document rassemble un certain nombre d'exercices, qui sont de deux types.

  • Des exercices de type QCM.
  • Des exercices de type code.

Dans ce deuxième type d'exercice, vous pourrez modifier du code dans une fenêtre (fond jaune pâle) qui est l'équivalent d'un éditeur (très simplifié) de code R. Pour exécuter les lignes de code, vous pouvez vous placer dessus et faire Ctrl+Enter. Le résultat s'affichera dans une fenêtre (fond rose pâle) en-dessous qui est l'équivalent d'une console R.

a=33
b=29
a=___
a
a=33
b=29
a=22
a

Le code que vous entrerez peut être évalué automatiquement lorsque vous appuyez sur Submit solution.

L'évaluation porte usuellement sur la dernière commande écrite dans l'éditeur (celle écrite tout en bas!), ainsi que (plus généralement) sur le fait que le code ne génère pas d'erreur lors de son exécution.

Par exemple, l'exercice ci-dessus est paramétré pour être évalué comme correct quand la dernière commande (donc d'après le code pré-renseigné l'objet a) correspond à la valeur 22, et incorrect autrement... Vous pouvez corriger (ou non) le code dans l'éditeur pour tester le comportement de l'évaluation...

1.2 Usages de R

1.3 Usages de RStudio

1.4 Assignation

Testez les commandes suivantes.

Modifiez le code pour que obj_d fasse également partie de l'environnement et soit listé lors de l'appel de ls().

obj_a <- "coin-coin"
obj_b <- "pouet-pouet"
obj_c = 25.7
#obj_d <- 33
ls()
obj_a <- "coin-coin"
obj_b <- "pouet-pouet"
obj_c = 25.7
obj_d <- 33
ls()

2. Objets de base

Cliquer ici pour les diapos de cours

2.1 Création de vecteurs

Le code suivant crée quatre vecteurs. Examinez-le et répondez à la question suivante

vec1 <- 0:5
vec2 <- seq(0,5,length.out=5)
vec3 <- c("0","1","2","3","4","5")
vec4 <- seq(0,5,by=1)

2.2 Création d'une tibble

Complétez le code ci-dessous pour créer la tibble starks qui résume quelques données sur des personnages de la série Game of Thrones.

Précisez le nom de famille de Jon (à savoir "Snow") et en complétez la variable "Age" (numérique) correspondant aux âges des enfants Stark (respectivement 15, 14, 11, 9, 7 et 3 ans).

starks <- tibble(FirstName=c("Robb","Jon","Sansa","Arya","Brandon","Rickon"),
                 LastName=c("Stark",_,"Stark","Stark","Stark","Stark"),
                 Age=c(_,_,_,_,_,_),
                 Direwolf=c("Grey Wind","Ghost","Lady","Nymeria","Summer","Shaggydog"))     
starks <- tibble(FirstName=c("Robb","Jon","Sansa","Arya","Brandon","Rickon"),
                 LastName=c("Stark","Snow","Stark","Stark","Stark","Stark"),
                 Age=c(15,14,11,9,7,3),
                 Direwolf=c("Grey Wind","Ghost","Lady","Nymeria","Summer","Shaggydog"))

2.3 Indexation des vecteurs

vecvilles___

2.4 Indexation d'une liste

L'environnement contient une liste ma_liste. En utilisant le système d'indexation des objets de type liste, récupérez le 4ème élément de l'élément fruits dans l'objet ma_liste.

quatrieme_fruit <- ___
quatrieme_fruit
quatrieme_fruit <- ma_liste$fruits[4]
quatrieme_fruit

2.5 Indexation d'une tibble

L'environnement contient une tibble ma_tibble. En utilisant le système d'indexation des objets de type tibble, récupérez les sixième et septième éléments de la variable cri dans cette tibble.

sixieme_et_septieme_cris <-___
sixieme_et_septieme_cris
sixieme_et_septieme_cris <- ma_tibble$cri[6:7]
sixieme_et_septieme_cris

3. Opérateurs, fonctions et packages

Cliquer ici pour les diapos de cours

3.1 Opérateurs arithmétiques

Le script ci-dessous crée deux vecteurs, pommes et bananes.

Complétez le script pour créer un nouveau vecteur fruits qui correspond à la somme (élément par élément) des pommes et des bananes.

Ne réécrivez pas le vecteur fruits à la main! Il faut simplement ici réaliser une opération arithmétique simple à l'aide des vecteurs pommes et bananes...

bananes <- c(5, 2, 3, 1, 7 , 8,NA, 2)
pommes <-  c(2, 1, 0, 2, NA, 3, 1, 5)
fruits <- _______________
bananes <- c(5, 2, 3, 1, 7 , 8,NA, 2)
pommes <-  c(2, 1, 0, 2, NA, 3, 1, 5)
fruits <- pommes + bananes

3.2 Opérateurs logiques

Gardez à l'esprit que (prop1 & prop2) est vraie si les deux propositions sont vraies; en revanche (prop1 | prop2) est vraie si au moins l'une des deux propositions est vraie...

3.3 Usage d'une fonction

L'environnement contient un vecteur x. Calculez la moyenne, la variance, et le quantile d'ordre 90% du vecteur x.

Pensez au préalable à convertir la valeur 90% en une valeur comprise entre 0 et 1...

moyenne <- ___
moyenne
variance <- ___
variance
quantile90p <- ___
quantile90p
moyenne <- mean(x)
moyenne
variance <- var(x)
variance
quantile90p <- quantile(x,0.9)
quantile90p

3.4 Arguments d'une fonction

La fonction mean() renvoie la moyenne d'un vecteur. L'existence d'un élément manquant (NA) dans le vecteur cause le renvoi de NA comme résultat.

Un des arguments de mean() permet de changer ce comportement pour renvoyer la moyenne du vecteur en omettant les NA.

Trouvez le nom de cet argument en consultant l'aide de la fonction et complétez la deuxième commande (ci-dessous) pour calculer m2.

Remarque: vous pouvez consulter le fichier d'aide associé à la fonction depuis la console, comme vous le feriez depuis RStudio...

vec <- c(3,2,8,NA,6,8,10,4,12,21,NA)

m1 <- mean(vec)
m2 <- mean(vec, _____)
vec <- c(3,2,8,NA,6,8,10,4,12,21,NA)

m1 <- mean(vec)
m2 <- mean(vec, na.rm=TRUE)

Avez-vous consulté l'aide de la fonction mean() (en tapant par exemple help(mean) ou ?mean) pour trouver le nom de l'argument qui nous intéresse ici?

Tuto Restart