fini Marianne
This commit is contained in:
parent
dd786495b4
commit
6790ba0289
6 changed files with 406 additions and 67 deletions
BIN
.RData
BIN
.RData
Binary file not shown.
308
.Rhistory
308
.Rhistory
|
@ -159,3 +159,311 @@ dfAnimes <- select(dfAnimes, title, mean, rank, annee, saison, num_episodes, sou
|
||||||
test <- dfAnimes
|
test <- dfAnimes
|
||||||
test %>%
|
test %>%
|
||||||
mutate(genres = paste(genres, collapse=",")) -> 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()
|
||||||
|
|
67
main.R
67
main.R
|
@ -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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
98
main_Marianne.R
Normal file
98
main_Marianne.R
Normal file
|
@ -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)
|
||||||
|
|
||||||
|
|
BIN
plot_moy_ratings_annee.pdf
Normal file
BIN
plot_moy_ratings_annee.pdf
Normal file
Binary file not shown.
BIN
plot_moy_ratings_saison.pdf
Normal file
BIN
plot_moy_ratings_saison.pdf
Normal file
Binary file not shown.
Loading…
Reference in a new issue