L’examen est composé de deux exercices indépendants. Si vous bloquez à une question, essayez de continuer malgré tout.

L’examen est noté sur 20. Tous les documents sont autorisés (papiers ou numériques). Il s’agit néanmoins d’un devoir individuel.

Il vous est demandé d’indiquer vos solutions dans le document 02_reponses.R.

À l’issue de l’examen : déposez votre travail sur AMeTICE, dans la zone de dépôt prévue à cet effet. Déposez UNIQUEMENT LE FICHIER `02_reponses.R``. Vérifiez bien que le fichier a été déposé et qu’il s’agit du bon.

Pensez à sauvegarder régulièrement votre travail.

1 Exercice 1 (15 points)

La plateforme Data Sud met à disposition des informations relatives à l’éclairage de la ville de Marseille, en 2016. Un jeu de données propose pour chaque point lumineux, le code de l’ouvrage, son domaine (éclairage public / illuminations), sa catégorie (poteau bois, façade, candélabre, etc.) et ses coordonnées géographiques.

Les données brutes (IL N’EST PAS NECESSAIRE DE LES TELECHARGER POUR LE DEVOIR) sont disponibles en ligne.

Vous avez téléchargé en même temps que ce sujet, une version modifiée des données (faisant figurer les arrondissements). Cette version modifiée est donnée dans le fichier eclairage_marseille_2016.csv.

1.1 Question 1 (1 point)

Chargez le package tidyverse.

1.2 Question 2 (1 point)

Les spécifications du fichier sont les suivantes :

  • la première ligne comporte les noms de colonnes ;

  • les champs sont séparés par une virgule ;

  • le point est utilisé comme séparateur décimal ;

  • les colonnes sont les suivantes :

    • domaine : éclairage public ou illumination,
    • categorie_ouvrage : catégorie d’ouvrage (poteau bois, façade, candélabre, etc.),
    • arrondissement : arrondissement de la ville (Arrondissement 1, Arrondissement 2, etc.),
    • latitude, longitude : coordonnées géographiques (système de référence WGS 84 / EPSG:4326).

Chargez le fichier eclairage_marseille_2016.csv.

1.3 Question 3 (1 point)

Affichez les valeurs distinctes de la colonne categorie_ouvrage du tableau de données eclairage.

Note : si vous n’avez pas réussi la question 2, vous pouvez charger le tableau de la question précédente en évaluant l’instruction suivante :

load("data/eclairage.rda")
eclairage

1.4 Question 4 (1,5 point)

Dans un tableau que vous nommerez premier_arrondissement, conservez les observations du tableau eclairage concernant le premier arrondissement (colonne arrondissement) et dont la catégorie d’ouvrage (colonne categorie_ouvrage) est soit Candélabre, soit Façade.

Note : si vous n’avez pas réussi la question 2, vous pouvez charger le tableau eclaireage en évaluant l’instruction suivante :

load("data/eclairage.rda")
eclairage

1.5 Question 5 (1 point)

À l’aide d’une fonction appropriée, affichez le nombre de lignes du tableau premier_arrondissement.

Note : si vous n’avez pas réussi la question 4, vous pouvez tout de même écrire la réponse attendue.

1.6 Question 6 (2 point)

La fonction count() du package {dplyr} admet comme premier argument un tableau de données et retourne un tableau de données faisant figurer le nombre d’observations au sein d’un groupe.

Utilisez cette fonction pour compter le nombre d’observations par arrondissement : il s’agit dans une première étape de regrouper les observations par arrondissement dans le tableau eclairage, puis d’appliquer la fonction count() sur le résultat.

Vous prendrez soin, dans le résultat final, de trier le résultat par valeurs décroissantes du nombre d’observations par arrondissement.

1.7 Question 7 (1 point)

Calculer le nombre d’éclairages par arrondissement, pour chaque catégorie d’ouvrage (vous pouvez reprendre la même démarche que dans la question précédente). Stockez le résultat dans un tableau que vous nommerez nb_ouvrages_arrond.

Vous devrez avoir un tableau indiquant, entre autres valeurs, qu’il y a :

  • 116 éclairage de catégorie Axial dans le premier arrondissement
  • 39 éclairage de catégorie Balise dans le premier arrondissement

1.8 Question 8 (1 point)

À partir du tableau nb_ouvrages_arrond, calculez la somme d’équipements d’éclairages par arrondissement, tous types d’éclairages confondus.

Aide sur le résultat : le tableau de résultat doit indiquer qu’il y a 3 095 équipement pour le premier arrondissement, 3 405 pour le deuxième arrondissement, etc.

Note : si vous n’avez pas réussi la question 7, vous pouvez charger le tableau nb_ouvrages_arrond en évaluant l’instruction suivante :

load("data/nb_ouvrages_arrond.rda")
nb_ouvrages_arrond

1.9 Question 9 (2 points)

La population par arrondissement en 2018 est donnée dans le tableau ci-dessous (pop_arrond_2018).

Ajoutez dans le tableau nb_ouvrages_arrond obtenu à la question 7, les informations relatives à la taille de la population. (1 point)

Puis, divisez le nombre d’éclairage (colonne n), par la population, puis par la superficie, et multipliez le résultat par 1000, de manière à ajouter une colonne indiquant le nombre d’éclairages de chaque catégorie par 1000 habitants par kilomètres carrés, pour chaque arrondissement (1 point).

Conservez le tableau final dans un objet que vous appellerez nb_eclairages_arrond_hab.

# Population en habitants, superficie en kilomètres carrés
pop_arrond_2018 <- 
  tibble(arrondissement = paste0("Arrondissement ", 1:16),
       pop = c(40283, 24874, 50982, 49281, 45979, 42241, 34875,
               81276, 76342, 57093, 57372, 61325, 91674, 61965, 76610, 16105),
       superficie = c(177.8, 504, 260, 290, 224, 210, 569.1, 1855, 6324, 1084,
                      2986, 1400, 2808.1, 1639.3, 1690, 1630)/100
       )

Note : si vous n’avez pas réussi la question 7, vous pouvez charger le tableau nb_ouvrages_arrond en évaluant l’instruction suivante :

load("data/nb_ouvrages_arrond.rda")
nb_ouvrages_arrond

1.10 Question 10 (1,5 point)

Dans le tableau nb_eclairages_arrond_hab, conservez uniquement les observations pour lesquelles la catégorie d’ouvrage (colonne categorie_ouvrage) est : Candélabre.

Stockez le resultat dans un objet que vous appellerez candelabre.

Note : si vous n’avez pas réussi la question 9, vous pouvez charger le tableau nb_eclairages_arrond_hab en évaluant l’instruction suivante :

load("data/nb_eclairages_arrond_hab.rda")
nb_eclairages_arrond_hab

1.11 Question 11 (2 points)

À partir du tableau de données candelabre, visualisez à l’aide d’un diagramme en barres le nombre de candélabres par arrondissement à Marseille.

Vous prendrez soin de respecter les contraintes suivantes :

  • l’axe des x renseignera le nombre de candélabres pour 1000 habitants et par kilomètres carrés ;
  • l’axe des y indiquera les arrondissements ;
  • les barres seront remplies à l’aide d’une couleur de votre choix, non grise ;
  • le graphique comportera un titre, un titre sur l’axe des x et ne comportera pas de titre pour l’axe des y.

Note : si vous n’avez pas réussi la question 10, vous pouvez charger le tableau candelabre en évaluant l’instruction suivante :

load("candelabre.rda")

2 Exercice 2 (5 points)

Un grand journal d’actualité hebdomadaire britanique estime que chaque année, 5% de ses clients ne se réabonnent pas. Dans le même temps, 200 000 nouveaux clients s’abonnent chaque année.

Considérons qu’à une année donnée \(0\), le nombre de clients s’élève à \(u_0=1 500 000\).

Le nombre de clients de l’année \(n+1\) sera donné par la relation de récurrence suivante :

\[\begin{cases}u_0 = 1~500~000\\u_{n+1} = 0,95 \times u_{n} + 200~000 \end{cases}.\]

2.1 Question 1 (2,5 points)

En utilisant une boucle for, déterminez à combien s’élèvera le nombre de clients de ce journal dans 10 ans.

2.2 Question 2 (2,5 points)

En utilisant une boucle while, trouvez à partir de quelle année le nombre d’abonnés de la revue dépassera les 3 000 000.