library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.0 ✔ purrr 0.3.5
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.1 ✔ stringr 1.4.1
## ✔ readr 2.1.3 ✔ forcats 0.5.2
## Warning: pakiet 'ggplot2' został zbudowany w wersji R 4.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(dplyr)
Dane pochodzą ze strony https://flixgem.com/ (wersja zbioru danych z dnia 12 marca 2021). Dane zawierają informacje na temat 9425 filmów i seriali dostępnych na Netlixie.
Zmiana formatu daty.
dane = dane %>%
mutate(
Release.Date = Release.Date %>% as.Date(format = '%m/%d/%Y')
,Netflix.Release.Date = Netflix.Release.Date %>% as.Date(format = '%m/%d/%Y')
)
CHALLENGE 1: Jaki jest najstarszy film Woody’ego Allena dostępny na Netflixie?
dane %>%
filter(Director=="Woody Allen") %>%
select(Title, Director, Release.Date) %>%
arrange(Release.Date)
## Title
## 1 Everything You Always Wanted to Know About Sex But Were Afraid to Ask
## 2 Sleeper
## 3 Love and Death
## 4 A Midsummer Nights Sex Comedy
## 5 Alice
## 6 Manhattan Murder Mystery
## 7 Scoop
## 8 Vicky Cristina Barcelona
## 9 Whatever Works
## 10 You Will Meet a Tall Dark Stranger
## 11 Midnight in Paris
## 12 To Rome with Love
## 13 Blue Jasmine
## 14 Magic in the Moonlight
## 15 Irrational Man
## 16 Café Society
## 17 Wonder Wheel
## 18 A Rainy Day in New York
## Director Release.Date
## 1 Woody Allen 1972-08-06
## 2 Woody Allen 1973-12-17
## 3 Woody Allen 1975-07-18
## 4 Woody Allen 1982-07-16
## 5 Woody Allen 1991-01-10
## 6 Woody Allen 1993-08-18
## 7 Woody Allen 2006-07-28
## 8 Woody Allen 2008-08-15
## 9 Woody Allen 2009-07-03
## 10 Woody Allen 2010-10-22
## 11 Woody Allen 2011-06-10
## 12 Woody Allen 2012-07-06
## 13 Woody Allen 2013-08-23
## 14 Woody Allen 2014-08-15
## 15 Woody Allen 2015-08-07
## 16 Woody Allen 2016-08-05
## 17 Woody Allen 2017-12-15
## 18 Woody Allen 2020-11-10
CHALLENGE 2: Jakie są trzy najwyżej oceniane komedie dostępne w języku polskim?
dane %>%
filter(Genre %>%
str_detect('Comedy')) %>%
filter(Languages %>%
str_detect('Polish')) %>%
arrange(-IMDb.Score) %>%
select(Title, IMDb.Score) %>%
top_n(3)
## Selecting by IMDb.Score
## Title IMDb.Score
## 1 Rake 8.5
## 2 Teddy Bear 8.2
## 3 Trois Couleurs - Blanc 7.6
CHALLENGE 3: Dla produkcji z lat 2019 oraz 2020 jaki jest średni czas między premierą a pojawieniem się na Netflixie?
dane %>%
drop_na(Release.Date,Netflix.Release.Date) %>%
mutate(rok = lubridate:: year(Release.Date),
roznica = Netflix.Release.Date - Release.Date) %>%
filter(rok %>% between(2019,2020)) %>%
group_by(rok) %>%
summarize(srednia = mean(roznica) %>% round(0))
## # A tibble: 2 × 2
## rok srednia
## <dbl> <drtn>
## 1 2019 152 days
## 2 2020 31 days
CHALLENGE 4: Jakie są najpopularniejsze tagi dla produkcji dostępnych w języku polskim?
dane %>%
filter(Languages %>%
str_detect("Polish")) %>%
separate_rows(Tags, sep = ',') %>%
group_by(Tags = tolower(Tags)) %>%
summarise(Suma = n()) %>% top_n(15) %>%
arrange(-Suma)
## Selecting by Suma
## # A tibble: 15 × 2
## Tags Suma
## <chr> <int>
## 1 dramas 50
## 2 polish movies 29
## 3 polish dramas 17
## 4 movies based on books 15
## 5 tv dramas 15
## 6 international dramas 14
## 7 international movies 13
## 8 polish tv shows 13
## 9 comedies 12
## 10 movies based on real life 11
## 11 crime thrillers 10
## 12 military dramas 10
## 13 thrillers 10
## 14 crime dramas 9
## 15 romantic dramas 9
CHALLENGE 5: Jakie są średnie oceny filmów wyprodukowanych w poszczególnych dekadach (tzn. lata 60, 70, 80, 90 etc.)?
dane %>%
drop_na(Release.Date) %>%
mutate(Rok = lubridate::year(Release.Date)) %>%
mutate(Dekada = case_when(
Rok <= 1950 ~ "lata 40 XX w."
,Rok <= 1960 ~ "lata 50 XX w."
,Rok <= 1970 ~ "lata 60 XX w."
,Rok <= 1980 ~ "lata 70 XX w."
,Rok <= 1990 ~ "lata 80 XX w."
,Rok <= 2000 ~ "lata 90 XX w."
,Rok <= 2010 ~ "lata 00 XXI w."
,Rok <= 2020 ~ "lata 10 XXI w."
,Rok <= 2030 ~ "lata 20 XXI w."
)) %>%
group_by(Dekada) %>%
summarize(count = n(),Średnia = mean(IMDb.Score, na.rm = TRUE) %>%
round(2)) %>%
arrange(-Średnia) %>%
select(Dekada, count, Średnia)
## # A tibble: 9 × 3
## Dekada count Średnia
## <chr> <int> <dbl>
## 1 lata 40 XX w. 20 7.44
## 2 lata 50 XX w. 32 7.39
## 3 lata 60 XX w. 84 7.39
## 4 lata 70 XX w. 137 7.34
## 5 lata 20 XXI w. 54 7.32
## 6 lata 80 XX w. 304 7.12
## 7 lata 10 XXI w. 6037 6.95
## 8 lata 00 XXI w. 1891 6.87
## 9 lata 90 XX w. 658 6.85