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.