library("jsonlite") data<-fromJSON(file="C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\anime-offline-database-master\\anime-offline-database.json") data<-fromJSON("C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\anime-offline-database-master\\anime-offline-database.json") dfAnimes <- as.data.frame(data) library("tidyverse") install.packages("tidyverse") library("tidyverse") dfAnimes #Nettoyage des colonnes non utilisées dfAnimes <- select(dfAnimes, data.title, data.type, data.episodes, data.status, data.animeSeason, data.tags) #Nombre d'animes durant plus de 2 cours (24 épisodes) par ans dfAnimes %>% filter(data.episodes>25) %>% longbois #Nombre d'animes durant plus de 2 cours (24 épisodes) par ans dfAnimes %>% filter(data.episodes>25) -> longbois #Nombre d'animes durant plus de 2 cours (24 épisodes) par an dfAnimes %>% filter(data.episodes>30) -> longbois #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an dfAnimes %>% filter(data.episodes>30) %>% group_by(data.animeSeason) %>% count()-> longbois #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an dfAnimes %>% filter(data.episodes>30) %>% group_by(data.animeSeason) %>% count(nbAnimes)-> longbois #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an dfAnimes %>% filter(data.episodes>30) %>% group_by(data.animeSeason) %>% count() %>% rename(n = nbAnimes) -> longbois #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an dfAnimes %>% filter(data.episodes>30) %>% group_by(data.animeSeason) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(data, nbAnimes)) + ggcol() longbois %>% ggplot(aes(data, nbAnimes)) + ggcols() longbois %>% ggplot(aes(data, nbAnimes)) + geom_cols() longbois %>% ggplot(aes(data, nbAnimes)) + geom_col() longbois %>% ggplot(aes(data.animeSeason, nbAnimes)) + geom_col() longbois %>% ggplot(aes(data.animeSeason$year, nbAnimes)) + geom_col() #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année dfAnimes %>% group_by(data.animeSeason$year) %>% summarise(Lettres=mean(nchar(data.title))) -> meanLettersByYear View(meanLettersByYear) #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année dfAnimes %>% group_by(data.animeSeason$year) %>% summarise(lettres=mean(nchar(data.title))) -> meanLettersByYear dfAnimes %>% group_by(data.animeSeason$year) %>% summarise(lettres=median(nchar(data.title))) -> medLettersByYear meanLettersByYear %>% ggplot(aes(data.animeSeason$year, lettres)) + geom_col() dfAnimes %>% group_by(data.animeSeason$year) %>% mutate(lettres=median(nchar(data.title))) -> medLettersByYear dfAnimes %>% group_by(data.animeSeason$year) %>% summarise(lettres=median(nchar(data.title))) -> medLettersByYear meanLettersByYear %>% ggplot(aes(data.animeSeason$year, lettres)) + geom_col() dfAnimes %>% group_by(data.animeSeason$year) %>% summarise(lettres=median(nchar(data.title))) %>% rename(annee = data.animeSeason$year)-> medLettersByYear #Dedoublage de la colonne saison dfAnimes %>% mutate(annee = data.animeSeason$year) %>% mutate(saison = data.animeSeason$season) -> dfAnimes dfAnimes %>% group_by(annee) %>% summarise(lettres=median(nchar(data.title))) -> medLettersByYear View(medLettersByYear) View(dfAnimes) View(dfAnimes) #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année dfAnimes %>% group_by(annee) %>% summarise(lettres=mean(nchar(data.title))) -> meanLettersByYear View(meanLettersByYear) meanLettersByYear %>% ggplot(aes(data.animeSeason$year, lettres)) + geom_col() meanLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() dfAnimes %>% group_by(annee) %>% summarise(lettres=median(nchar(data.title))) -> medLettersByYear medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() filter(data, data.animeSeason$year > 1924) -> post1924 filter(dfAnimes, dfAnimes.animeSeason$year > 1924) -> post1924 dfAnimes filter(dfAnimes, dfAnimes$annee > 1924) -> post1924 filter(post1924,post1924$annee < 2022) -> animeCentury animeCentury View(dfAnimes) View(dfAnimes) #Filtrage des animes sortis avant 1925 et après 2021 et des OVAs, films, etc dfAnimes %>% filter(annee < 1924) %>% filter(annee > 2021) %>% filter(data.type == "TV") -> animeCentury #Filtrage des animes sortis avant 1925 et après 2021 et des OVAs, films, etc dfAnimes %>% filter(annee < 1924) %>% filter(annee > 2021) -> animeCentury #Filtrage des animes sortis avant 1925 et après 2021 et des OVAs, films, etc dfAnimes %>% filter(annee > 1924) %>% filter(annee < 2021) %>% filter(data.type == "TV") -> animeCentury View(animeCentury) #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer animeCentury %>% filter(data.episodes>30) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(annee, nbAnimes)) + geom_col() #Filtrage des animes sortis avant 1925 et après 2021 et des OVAs, films, etc dfAnimes %>% filter(annee > 1960) %>% filter(annee < 2021) %>% filter(data.type == "TV") -> animeCentury #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année animeCentury %>% group_by(annee) %>% summarise(lettres=mean(nchar(data.title))) -> meanLettersByYear animeCentury %>% group_by(annee) %>% summarise(lettres=median(nchar(data.title))) -> medLettersByYear meanLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() library("jsonlite") library("tidyverse") data<-fromJSON("C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\db_animes\\db_animes.json") dfAnimes <- as.data.frame(data) #Filtrage des animes sortis avant 1960 (pas de télé :() et après 2021 et des OVAs, films, etc dfAnimes %>% filter(start_season$year > 1960) %>% filter(start_season$year < 2021) %>% filter(media_type == "tv") -> dfAnimes #Dedoublage de la colonne saison dfAnimes %>% mutate(annee = start_season$year) %>% mutate(saison = start_season$season) -> dfAnimes #Transformation de la colonne genre pour la rendre utilisable getgenre <- function(i){ dfAnimes[i,13][[1]][[2]] -> res return(res) } dfAnimes %>% mutate(genres = lapply(1:4691, getgenre)) -> dfAnimes #Nettoyage des colonnes non utilisées dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, source, genres) test <- dfAnimes test %>% mutate(genres = paste(genres, collapse=",")) -> test library("jsonlite") library("tidyverse") data<-fromJSON("C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\db_animes\\db_animes.json") dfAnimes <- as.data.frame(data) #Filtrage des animes sortis avant 1960 (pas de télé :() et après 2021 et des OVAs, films, etc dfAnimes %>% filter(start_season$year > 1960) %>% filter(start_season$year < 2021) %>% filter(media_type == "tv") -> dfAnimes #Dedoublage de la colonne saison dfAnimes %>% mutate(annee = start_season$year) %>% mutate(saison = start_season$season) -> dfAnimes #Transformation de la colonne genre pour la rendre utilisable getgenre <- function(i){ dfAnimes[i,13][[1]][[2]] -> res return(res) } dfAnimes %>% mutate(genres = lapply(1:4691, getgenre)) -> dfAnimes #Nettoyage des colonnes non utilisées dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, source, genres) View(dfAnimes) View(dfAnimes) View(animeCentury) View(animeCentury) View(animeCentury) library("jsonlite") library("tidyverse") data<-fromJSON("C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\db_animes\\db_animes.json") dfAnimes <- as.data.frame(data) #Filtrage des animes sortis avant 1960 (pas de télé :() et après 2021 et des OVAs, films, etc dfAnimes %>% filter(start_season$year > 1960) %>% filter(start_season$year < 2021) %>% filter(media_type == "tv") -> dfAnimes #Dedoublage de la colonne saison dfAnimes %>% mutate(annee = start_season$year) %>% mutate(saison = start_season$season) -> dfAnimes #Transformation de la colonne genre pour la rendre utilisable getgenre <- function(i){ dfAnimes[i,13][[1]][[2]] -> res return(res) } dfAnimes %>% mutate(genres = lapply(1:4691, getgenre)) -> dfAnimes #Nettoyage des colonnes non utilisées dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, source, genres) #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>30) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(annee, nbAnimes)) + geom_col() #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année dfAnimes %>% group_by(annee) %>% summarise(lettres=mean(nchar(data.title))) -> dfAnimes dfAnimes %>% group_by(annee) %>% summarise(lettres=median(nchar(data.title))) -> medLettersByYear #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année dfAnimes %>% group_by(annee) %>% summarise(lettres=mean(nchar(title))) -> dfAnimes dfAnimes %>% group_by(annee) %>% summarise(lettres=median(nchar(title))) -> medLettersByYear data<-fromJSON("C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\db_animes\\db_animes.json") dfAnimes <- as.data.frame(data) #Filtrage des animes sortis avant 1960 (pas de télé :() et après 2021 et des OVAs, films, etc dfAnimes %>% filter(start_season$year > 1960) %>% filter(start_season$year < 2021) %>% filter(media_type == "tv") -> dfAnimes #Dedoublage de la colonne saison dfAnimes %>% mutate(annee = start_season$year) %>% mutate(saison = start_season$season) -> dfAnimes #Transformation de la colonne genre pour la rendre utilisable getgenre <- function(i){ dfAnimes[i,13][[1]][[2]] -> res return(res) } dfAnimes %>% mutate(genres = lapply(1:4691, getgenre)) -> dfAnimes #Nettoyage des colonnes non utilisées dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, source, genres) #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>30) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(annee, nbAnimes)) + geom_col() #Evolution du nombre de lettre (moyenne et médiane) dans les titres par année dfAnimes %>% group_by(annee) %>% summarise(lettres=mean(nchar(title))) -> meanLettersByYear dfAnimes %>% group_by(annee) %>% summarise(lettres=median(nchar(title))) -> medLettersByYear meanLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() #Nombre d'animes originaux par an dfAnimes %>% filter(source="original") -> og #Nombre d'animes originaux par an dfAnimes %>% filter(source=="original") -> og og %>% ggplot((aes(annee, nbAnimes)) + geom_col() og %>% ggplot(aes(annee, nbAnimes)) + geom_col() og %>% ggplot(aes(annee, nbAnimes)) + geom_col() #Nombre d'animes originaux par an dfAnimes %>% filter(source=="original") %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> og og %>% ggplot(aes(annee, nbAnimes)) + geom_col() #Nombre sources des animes par an dfAnimes %>% group_by(source, annee) %>% count() %>% rename(nbAnimes = n) -> dFSources dFSources %>% ggplot(aes(annee, nbAnimes), color = source) + geom_col() dFSources %>% ggplot(aes(annee, nbAnimes, color = source)) + geom_col() #Nombre sources des animes par an dfAnimes %>% filter(source %in% c("original", "manga", "light_novel", "game", "visual_novel", "other", "novel")) %>% group_by(source, annee) %>% count() %>% rename(nbAnimes = n) -> dFSources dFSources %>% ggplot(aes(annee, nbAnimes, color = source)) + geom_col() dFSources %>% ggplot(aes(annee, nbAnimes, fill = source)) + geom_col() install.packages(wesanderson) install.packages("wesanderson"") longbois %>% ggplot(aes(annee, nbAnimes)) + geom_point() longbois %>% ggplot(aes(annee, nbAnimes)) + geom_point() #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>30) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois library("jsonlite") library("tidyverse") data<-fromJSON("C:\\Users\\Marianne\\Desktop\\projet-analyse-exploratoire\\db_animes\\db_animes.json") dfAnimes <- as.data.frame(data) #Filtrage des animes sortis avant 1960 (pas de télé :() et après 2021 et des OVAs, films, etc dfAnimes %>% filter(start_season$year > 1960) %>% filter(start_season$year < 2021) %>% filter(media_type == "tv") -> dfAnimes #Dedoublage de la colonne saison dfAnimes %>% mutate(annee = start_season$year) %>% mutate(saison = start_season$season) -> dfAnimes #Transformation de la colonne genre pour la rendre utilisable getgenre <- function(i){ dfAnimes[i,13][[1]][[2]] -> res return(res) } dfAnimes %>% mutate(genres = lapply(1:4691, getgenre)) -> dfAnimes #Nettoyage des colonnes non utilisées dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, source, genres) #Nombre d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>30) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(annee, nbAnimes)) + geom_point() longbois %>% ggplot(aes(annee, nbAnimes)) + geom_line() dfAnimes %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> allbois #Pourcentage d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>30) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois percLongs <- longbois/allbois*100 percLongs %>% ggplot(aes(annee, nbAnimes)) + geom_line() left_join(longbois, allbois, by=annee) -> test left_join(longbois, allbois, by="annee") -> test left_join(longbois, allbois, by="annee", suffix = c("-long", "-all")) -> test left_join(longbois, allbois, by="annee", suffix = c("_long", "_all")) %>% mutate(pourcentage_long = nbAnimes_long/nbAnimes_all*100) dFLong left_join(longbois, allbois, by="annee", suffix = c("_long", "_all")) %>% mutate(pourcentage_long = (nbAnimes_long/nbAnimes_all*100)) dFLong left_join(longbois, allbois, by="annee", suffix = c("_long", "_all")) %>% mutate(pourcentage_long = (nbAnimes_long/nbAnimes_all*100)) -> dFLong left_join(longbois, allbois, by="annee", suffix = c("_long", "_all")) %>% mutate(pourcentage_long = (nbAnimes_long/nbAnimes_all*100)) -> dFLong dFLong %>% ggplot(aes(annee, pourcentage_long)) + geom_point() + geom_line() longbois %>% ggplot(aes(annee, nbAnimes)) + geom_point() + geom_line() #Pourcentage d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>50) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(annee, nbAnimes)) + geom_point() + geom_line() dfAnimes %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> allbois left_join(longbois, allbois, by="annee", suffix = c("_long", "_all")) %>% mutate(pourcentage_long = (nbAnimes_long/nbAnimes_all*100)) -> dFLong dFLong %>% ggplot(aes(annee, pourcentage_long)) + geom_point() + geom_line() #Pourcentage d'animes durant plus de 2 cours (estimés à 30 épisodes) par an => a améliorer dfAnimes %>% filter(num_episodes>50) %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> longbois longbois %>% ggplot(aes(annee, nbAnimes)) + geom_point() + geom_line() dfAnimes %>% group_by(annee) %>% count() %>% rename(nbAnimes = n) -> allbois left_join(longbois, allbois, by="annee", suffix = c("_long", "_all")) %>% mutate(pourcentage_long = (nbAnimes_long/nbAnimes_all*100)) -> dFLong dFLong %>% ggplot(aes(annee, pourcentage_long)) + geom_point() + geom_line() meanLettersByYear %>% ggplot(aes(annee, lettres)) + geom_point()+ geom_line() medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col()+ geom_line() medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_point()+ geom_line() #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% summarise(moy_ratings = mean(rating)) -> dFRatingsSaison #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% summarise(moy_ratings = mean(mean)) -> dFRatingsSaison #Rename la colonne au nom débile rename(dfAnimes, note = mean) -> dfAnimes #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% summarise(moy_ratings = mean(note)) -> dFRatingsSaison #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% summarise(moy_ratings = sum(note)) -> dFRatingsSaison #Les animes deviennent ils meilleurs avec le temps ? dfAnimes %>% group_by(annee)%>% summarise(moy_ratings = sum(note)) -> dFRatingsAnnee View(dFRatingsAnnee) #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% summarise(moy_ratings = sum(note), na.rm=TRUE) -> dFRatingsSaison #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% filter(!is_na(note))%>% summarise(moy_ratings = sum(note)) -> dFRatingsSaison #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% filter(!isna(note))%>% summarise(moy_ratings = sum(note)) -> dFRatingsSaison #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% filter(!is.na(note))%>% summarise(moy_ratings = sum(note)) -> dFRatingsSaison #En quelle saison sortent les meilleurs animes ? dfAnimes %>% group_by(saison)%>% filter(!is.na(note))%>% summarise(moy_ratings = mean(note)) -> dFRatingsSaison dFRatingsSaison %>% ggplot(aes(saison, moy_ratings))+geom_bar() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings))+geom_col() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings))+geom_point() #Les animes deviennent ils meilleurs avec le temps ? dfAnimes %>% group_by(annee)%>% filter(!is.na(note))%>% summarise(moy_ratings = mean(note)) -> dFRatingsAnnee dFRatingsSaison %>% ggplot(aes(saison, moy_ratings))+geom_point()+geom_line() dFRatingsAnnee %>% ggplot(aes(annee, moy_ratings))+geom_point()+geom_line() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings))+geom_point() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_point() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_count() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_jitter() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_bin2d() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_jitter() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_point() dFRatingsSaison %>% ggplot(aes(saison, moy_ratings, shape = saison, color = saison))+geom_point(size = 3) dFRatingsAnnee %>% ggplot(aes(annee, moy_ratings))+geom_point()+geom_line dFRatingsAnnee %>% ggplot(aes(annee, moy_ratings))+geom_point()+geom_line() dFSources %>% ggplot(aes(annee, nbAnimes, fill = source)) + geom_col() #Nombre sources des animes par an dfAnimes %>% filter(source %in% c("original", "manga", "light_novel", "game", "visual_novel", "other", "novel")) %>% group_by(source, annee) %>% count() %>% rename(nbAnimes = n) -> dFSources dFSources %>% ggplot(aes(annee, nbAnimes, fill = source)) + geom_col()