if(!require("pacman")) install.packages("pacman")
## Loading required package: pacman
pacman::p_load(readr,ggplot2,zoo,lubridate,tidyverse)
minetflix <- read_csv("C:/Users/cided/Desktop/NetflixViewingHistory.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## Title = col_character(),
## Date = col_character()
## )
str(minetflix)
## tibble [3,405 x 2] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Title: chr [1:3405] "O Preço da Perfeição: Temporada 1: Alegria de viver" "Amor em Obras" "Cobra Kai: Temporada 3: 19 de dezembro" "Cobra Kai: Temporada 3: Natal" ...
## $ Date : chr [1:3405] "04/01/2021" "02/01/2021" "02/01/2021" "02/01/2021" ...
## - attr(*, "spec")=
## .. cols(
## .. Title = col_character(),
## .. Date = col_character()
## .. )
minetflix$Date <- dmy(minetflix$Date)
minetflix_serie <- minetflix %>%
separate(col = Title, into = c("title", "temporada", "titulo_episodio"), sep = ': ')
## Warning: Expected 3 pieces. Additional pieces discarded in 186 rows [19, 112,
## 149, 150, 151, 152, 153, 154, 155, 156, 222, 223, 319, 338, 354, 362, 367, 670,
## 675, 676, ...].
## Warning: Expected 3 pieces. Missing pieces filled with `NA` in 354 rows [2, 20,
## 21, 28, 31, 34, 35, 36, 37, 39, 40, 41, 42, 43, 45, 56, 74, 75, 79, 80, ...].
minetflix_serie <- minetflix_serie[!is.na(minetflix_serie$temporada),]
minetflix_serie <- minetflix_serie[!is.na(minetflix_serie$titulo_episodio),]# REGISTRO DE NÚMERO DE Episódios VISTOS POR DÍA, POR SERIE
maratones_minetflix <- minetflix_serie %>%
count(title, Date)
maratones_minetflix <- maratones_minetflix[maratones_minetflix$n >= 6,]
maratones_minetflix
## # A tibble: 149 x 3
## title Date n
## <chr> <date> <int>
## 1 (Des)encanto 2019-09-22 7
## 2 12 Macacos 2016-08-26 9
## 3 3% 2016-12-01 7
## 4 A Maldição da Residência Hill 2018-10-20 6
## 5 A Ordem 2019-03-08 6
## 6 After Life - Vocês vão ter de me engolir 2020-04-28 8
## 7 Altered Carbon 2018-02-05 7
## 8 Areia Movediça 2019-04-07 6
## 9 Ares 2020-01-23 6
## 10 Away 2020-09-09 9
## # ... with 139 more rows
maratones_minetflix <- maratones_minetflix[order(maratones_minetflix$Date),]
maratones_minetflix
## # A tibble: 149 x 3
## title Date n
## <chr> <date> <int>
## 1 Vikings 2014-12-14 6
## 2 Helix 2015-02-07 7
## 3 Helix 2015-02-08 6
## 4 Suits 2015-02-08 6
## 5 Suits 2015-02-16 20
## 6 Suits 2015-02-17 10
## 7 The Returned 2015-05-17 6
## 8 Hannibal 2015-06-20 7
## 9 Penny Dreadful 2015-06-25 8
## 10 Bates Motel 2015-07-05 6
## # ... with 139 more rows
maratones_minetflix_todas <- maratones_minetflix %>%
group_by(title) %>%
summarise(n = sum(n)) %>%
arrange(desc(n))
## `summarise()` ungrouping output (override with `.groups` argument)
maratones_minetflix_top <- maratones_minetflix_todas %>%
top_n(10) %>%
ggplot(aes(x = reorder(title, n), y = n, fill= title)) +
geom_col() +
coord_flip() +
ggtitle("Top 10 de series mais vistas em meu Netflix", "4 ou mais Episódios por dia") +
labs(x = "Série", y = "Episódios vistos no total") +
theme_minimal() +theme(legend.position = "none")
## Selecting by n
maratones_minetflix_top

netflix_episodios_dia <- minetflix %>%
count(Date) %>%
arrange(desc(n))
netflix_episodios_dia_plot <- ggplot(aes(x = Date, y = n, color = n), data = netflix_episodios_dia) +
geom_col(color = c("#f16727")) +
theme_minimal() +
ggtitle("Episódios vistos em meu Netflix por dia", "Histórico de 2013 a 2021") +
labs(x = "", y = "Episódios vistos")
netflix_episodios_dia_plot

netflix_episodios_dia <- netflix_episodios_dia[order(netflix_episodios_dia$Date),]
netflix_episodios_dia$diasemana <- wday(netflix_episodios_dia$Date)
netflix_episodios_dia$diasemanaF <- weekdays(netflix_episodios_dia$Date, abbreviate = T)
netflix_episodios_dia$mesF <- months(netflix_episodios_dia$Date, abbreviate = T)
netflix_episodios_dia$diasemanaF <-factor(netflix_episodios_dia$diasemana, levels = rev(1:7), labels = rev(c("Seg","Ter","Qua","Qui","Sex","Sab","Dom")),ordered = TRUE)
netflix_episodios_dia$mesF <- factor(month(netflix_episodios_dia$Date),levels = as.character(1:12), labels = c("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"),ordered = TRUE)
netflix_episodios_dia$anomes <- factor(as.yearmon(netflix_episodios_dia$Date))
netflix_episodios_dia$semana <- as.numeric(format(netflix_episodios_dia$Date,"%W"))
netflix_episodios_dia$semanames <- ceiling(day(netflix_episodios_dia$Date) / 7)
netflix_episodios_dia_calendario <- ggplot(netflix_episodios_dia, aes(semanames, diasemanaF, fill = n)) +
geom_tile(colour = "white") +
facet_grid(year(netflix_episodios_dia$Date) ~ mesF) +
scale_fill_gradient(low = "#FFD000", high = "#FF1919") +
ggtitle("Episódios vistos por dia em meu Netflix", "Heatmap por dia da semana, mês e ano") +
labs(x = "Número de semana", y = "Dia da semana") +
labs(fill = "No.Episódios")
netflix_episodios_dia_calendario

vista_dia <- netflix_episodios_dia %>%
count(diasemanaF)
vista_diavista_dia_plot <- vista_dia %>%
ggplot(aes(diasemanaF, n)) +
geom_col(fill = "#5b59d6") +
coord_polar() +
theme_minimal() +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.text.x = element_text(face = "bold"),
plot.title = element_text(size = 16, face = "bold")) +
ggtitle("Frequência de Episódios vistos", "Atividade por dia da semana em meu Netflix")
vista_diavista_dia_plot

vista_mes <- netflix_episodios_dia %>%
count(mesF)
vista_mesvista_mes_plot <- vista_mes %>%
ggplot(aes(mesF, n)) +
geom_col(fill = "#808000") +
coord_polar() +
theme_minimal() +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.text.x = element_text(face = "bold"),
plot.title = element_text(size = 18, face = "bold")) +
ggtitle("Frequência de Episódios vistos", "Atividade por mês em meu Netflix")
vista_mesvista_mes_plot

vista_anos <- netflix_episodios_dia %>%
count(anomes)
vista_anosvista_anos_plot <- vista_anos %>%
ggplot(aes(anomes, n)) +
geom_col(fill = "#1a954d") +
coord_polar() +
theme_minimal() +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.text.x = element_text(face = "bold"),
plot.title = element_text(size = 18, face = "bold")) +
ggtitle("Frequência de Episódios vistos", "Atividade por mês e ano em meu Netflix")
vista_anosvista_anos_plot
