Documents de cours 2020-2021 - FX Jollois
Nous allons créer une application shiny, en utilisant le package shinydashboard.
Dans ce TP, nous allons travailler sur des données concernant des films. Vous trouverez ci-dessous le contenu du premier document (réduit aux éléments importants pour cette évaluation - les textes longs ont été remplacé par "...").
{
"_id" : ObjectId("573a1390f29313caabcd5c0f"),
"plot" : "...",
"genres" : [ "Drama", "History" ],
"rated" : "NOT RATED",
"cast" : [
"Lillian Gish",
"Spottiswoode Aitken",
"Mary Alden",
"Frank Bennett"
],
"num_mflix_comments" : 1,
"title" : "Intolerance: Love's Struggle Throughout the Ages",
"fullplot" : "...",
"countries" : [ "USA" ],
"released" : ISODate("1916-09-05T00:00:00Z"),
"directors" : [ "D.W. Griffith" ],
"writers" : [ "D.W. Griffith (scenario)", "Anita Loos (titles)" ],
"awards" : {
"wins" : 1,
"nominations" : 0,
"text" : "1 win."
},
"lastupdated" : "2015-09-05 00:01:19.580000000",
"year" : 1916,
"imdb" : {
"rating" : 8,
"votes" : 9880,
"id" : 6864
},
"type" : "movie",
"tomatoes" : {
"viewer" : {
"rating" : 3.8,
"numReviews" : 4718,
"meter" : 78
},
"dvd" : ISODate("2002-12-10T00:00:00Z"),
"critic" : {
"rating" : 8.1,
"numReviews" : 32,
"meter" : 97
},
"lastUpdated" : ISODate("2015-09-15T17:02:34Z"),
"consensus" : "...",
"rotten" : 1,
"production" : "Cohen Media Group",
"fresh" : 31
}
}
Quelques points à noter :
genres), contenus dans un tableaucast), les pays du film (champs countries), les langues (champs languages), les directeurs (champs directors), et les scénaristes (champs writers)imdb reprend les éléments importants du site IMDB, sur lequel il est possible d’évaluer le film (sous-champs rating - de 1 à 10)tomatoes fait lui référence au site Rotten Tomatoes, proposant aussi une évaluation du film (sous-champs critic pour la critique et viewer pour le public, en particulier rating et meter en pourcentage - donc sur 100)Pour rappel, si vous ne l’avez pas fait, vous devez déjà télécharger le fichier movies.json, et le mettre dans la collection movies de la base de données test (via Compass donc).
Nous souhaitons donc avoir un tableau de bord, composé de plusieurs parties, avec le détail décrit ci-dessous.
Pour réaliser cela, vous devez effectuer les étapes suivantes :
shinydashboard, n’hésitez pas à aller sur cette pageshinyServer(), il est possible de créer les data.frame et le ggplot nécessaires pour notre applicationglobal.r, qui est automatiquement appelé lors du démarrage d’une application shiny.ATTENTION : vous devez considéré que les données puissent être dynamiques, c’est-à-dire qu’il faut que vous fassiez les récupérations de données à la volée, et pas tout intégrer à R puis faire les calculs ensuite.