diff --git a/.RData b/.RData index ceab479..8b4a35e 100644 Binary files a/.RData and b/.RData differ diff --git a/.Rhistory b/.Rhistory index d42483d..1097192 100644 --- a/.Rhistory +++ b/.Rhistory @@ -159,3 +159,311 @@ dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, sou 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() diff --git a/main.R b/main.R deleted file mode 100644 index 3dabd3c..0000000 --- a/main.R +++ /dev/null @@ -1,67 +0,0 @@ -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 - -#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 - -meanLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() - -medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_col() - -#Evolution des 5 genres les plus représentés - -# Explosion de la colonne tags -dfAnimes %>% - mutate(annee = anime$year) %>% - mutate(saison = start_season$season) -> animes_genres_doubles - - - diff --git a/main_Marianne.R b/main_Marianne.R new file mode 100644 index 0000000..0e97a39 --- /dev/null +++ b/main_Marianne.R @@ -0,0 +1,98 @@ +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) + +#Rename la colonne au nom débile +rename(dfAnimes, note = mean) -> dfAnimes + +#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() + +#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_point()+ geom_line() + +medLettersByYear %>% ggplot(aes(annee, lettres)) + geom_point()+ geom_line() + +#Evolution des 5 genres les plus représentés +#Titouan + +#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() + +#On joue avec les ratings ! + +#Les animes deviennent ils meilleurs avec le temps ? +dfAnimes %>% + group_by(annee)%>% + filter(!is.na(note))%>% + summarise(moy_ratings = mean(note)) -> dFRatingsAnnee + +dFRatingsAnnee %>% ggplot(aes(annee, moy_ratings))+geom_point()+geom_line() + + +#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, shape = saison, color = saison))+geom_point(size = 3) + + diff --git a/plot_moy_ratings_annee.pdf b/plot_moy_ratings_annee.pdf new file mode 100644 index 0000000..ea52d85 Binary files /dev/null and b/plot_moy_ratings_annee.pdf differ diff --git a/plot_moy_ratings_saison.pdf b/plot_moy_ratings_saison.pdf new file mode 100644 index 0000000..06d191f Binary files /dev/null and b/plot_moy_ratings_saison.pdf differ