Compare commits
No commits in common. "bbb623d73889eb02eb77a6b611d15f7614802223" and "6790ba0289d23a6f38f3aa5510d0857057376d61" have entirely different histories.
bbb623d738
...
6790ba0289
4 changed files with 0 additions and 230 deletions
Binary file not shown.
Binary file not shown.
115
main.R
115
main.R
|
|
@ -1,115 +0,0 @@
|
|||
library("jsonlite")
|
||||
library("tidyverse")
|
||||
|
||||
|
||||
|
||||
data<-fromJSON(txt = "/home/labourde/Bureau/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)
|
||||
|
||||
####### Distribution des genres
|
||||
distributeGenres <- function(i){
|
||||
line <- as.data.frame(i$genres)
|
||||
line %>%
|
||||
rename(genres = 1) -> Genres
|
||||
i[ , !(names(dfAnimes) %in% c("genres"))] -> anime
|
||||
newdf <- cbind(anime, Genres)
|
||||
return(newdf)
|
||||
}
|
||||
|
||||
dfAnimesFinal <- data.frame(matrix(ncol = ncol(dfAnimes), nrow = 0))
|
||||
x <- names(dfAnimes)
|
||||
colnames(dfAnimesFinal) <- x
|
||||
dfAnimesFinal
|
||||
|
||||
for(i in 1:nrow(dfAnimes)) {
|
||||
row <- dfAnimes[i,]
|
||||
animeWithGenres <- distributeGenres(row)
|
||||
dfAnimesFinal <- rbind(dfAnimesFinal,animeWithGenres)
|
||||
}
|
||||
dfAnimesFinal
|
||||
|
||||
####### Plot the genre the most represented
|
||||
dfAnimesFinal %>%
|
||||
mutate(Nombre=sum(1)) %>%
|
||||
group_by(genres) %>%
|
||||
summarise(NombreGenre=sum(Nombre)) %>%
|
||||
arrange(desc(NombreGenre)) -> mostCommonGenre
|
||||
mostCommonGenre <- head(mostCommonGenre,10)
|
||||
ggplot(mostCommonGenre,aes(x=reorder(genres,NombreGenre),y=NombreGenre)) +
|
||||
geom_bar(stat='Identity',aes(fill=genres)) +
|
||||
labs(y="Occurence", x = "Genre") +
|
||||
ggtitle("Les 10 genres les plus représentés")
|
||||
|
||||
|
||||
####### Evolution des 5 genres les plus représentés sur les 5 dernières années
|
||||
dfAnimesFinal %>%
|
||||
filter(annee>1999) %>%
|
||||
mutate(Nombre=1) %>%
|
||||
group_by(genres,annee) %>%
|
||||
summarise(NombreGenre=sum(Nombre)) %>%
|
||||
arrange(desc(NombreGenre)) %>%
|
||||
group_by(annee) %>%
|
||||
slice_max(order_by = NombreGenre, n = 5) -> mostCommonGenrePast10Years
|
||||
ggplot(mostCommonGenrePast10Years,aes(x=annee,y=NombreGenre,color=genres)) +
|
||||
geom_point() +
|
||||
geom_line() +
|
||||
labs(y="Occurence", x = "Genre") +
|
||||
ggtitle("Evolution des 5 genres les plus représentés sur les 20 dernières années")
|
||||
|
||||
|
||||
|
||||
|
||||
#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
|
||||
|
||||
|
||||
|
||||
115
main2.R
115
main2.R
|
|
@ -1,115 +0,0 @@
|
|||
library("jsonlite")
|
||||
library("tidyverse")
|
||||
|
||||
|
||||
|
||||
data<-fromJSON(txt = "/home/labourde/Bureau/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)
|
||||
|
||||
####### Distribution des genres
|
||||
distributeGenres <- function(i){
|
||||
line <- as.data.frame(i$genres)
|
||||
line %>%
|
||||
rename(genres = 1) -> Genres
|
||||
i[ , !(names(dfAnimes) %in% c("genres"))] -> anime
|
||||
newdf <- cbind(anime, Genres)
|
||||
return(newdf)
|
||||
}
|
||||
|
||||
dfAnimesFinal <- data.frame(matrix(ncol = ncol(dfAnimes), nrow = 0))
|
||||
x <- names(dfAnimes)
|
||||
colnames(dfAnimesFinal) <- x
|
||||
dfAnimesFinal
|
||||
|
||||
for(i in 1:nrow(dfAnimes)) {
|
||||
row <- dfAnimes[i,]
|
||||
animeWithGenres <- distributeGenres(row)
|
||||
dfAnimesFinal <- rbind(dfAnimesFinal,animeWithGenres)
|
||||
}
|
||||
dfAnimesFinal
|
||||
|
||||
####### Plot the genre the most represented
|
||||
dfAnimesFinal %>%
|
||||
mutate(Nombre=sum(1)) %>%
|
||||
group_by(genres) %>%
|
||||
summarise(NombreGenre=sum(Nombre)) %>%
|
||||
arrange(desc(NombreGenre)) -> mostCommonGenre
|
||||
mostCommonGenre <- head(mostCommonGenre,10)
|
||||
ggplot(mostCommonGenre,aes(x=reorder(genres,NombreGenre),y=NombreGenre)) +
|
||||
geom_bar(stat='Identity',aes(fill=genres)) +
|
||||
labs(y="Occurence", x = "Genre") +
|
||||
ggtitle("Les 10 genres les plus représentés")
|
||||
|
||||
|
||||
####### Evolution des 5 genres les plus représentés sur les 5 dernières années
|
||||
dfAnimesFinal %>%
|
||||
filter(annee>1999) %>%
|
||||
mutate(Nombre=1) %>%
|
||||
group_by(genres,annee) %>%
|
||||
summarise(NombreGenre=sum(Nombre)) %>%
|
||||
arrange(desc(NombreGenre)) %>%
|
||||
group_by(annee) %>%
|
||||
slice_max(order_by = NombreGenre, n = 5) -> mostCommonGenrePast10Years
|
||||
ggplot(mostCommonGenrePast10Years,aes(x=annee,y=NombreGenre,color=genres)) +
|
||||
geom_point() +
|
||||
geom_line() +
|
||||
labs(y="Occurence", x = "Genre") +
|
||||
ggtitle("Evolution des 5 genres les plus représentés sur les 20 dernières années")
|
||||
|
||||
|
||||
|
||||
|
||||
#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
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in a new issue