Question 1 rename():
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readr)
movies <- read_csv("https://gist.githubusercontent.com/tiangechen/b68782efa49a16edaf07dc2cdaa855ea/raw/0c794a9717f18b094eabab2cd6a6b9a226903577/movies.csv")
## Rows: 77 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): Film, Genre, Lead Studio, Worldwide Gross
## dbl (4): Audience score %, Profitability, Rotten Tomatoes %, Year
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
movies2 <- movies %>%
rename(movie_title = Film, release_year = Year)
print(head(movies2))
## # A tibble: 6 × 8
## movie_title Genre `Lead Studio` `Audience score %` Profitability
## <chr> <chr> <chr> <dbl> <dbl>
## 1 Zack and Miri Make a Por… Roma… The Weinstei… 70 1.75
## 2 Youth in Revolt Come… The Weinstei… 52 1.09
## 3 You Will Meet a Tall Dar… Come… Independent 35 1.21
## 4 When in Rome Come… Disney 44 0
## 5 What Happens in Vegas Come… Fox 72 6.27
## 6 Water For Elephants Drama 20th Century… 72 3.08
## # ℹ 3 more variables: `Rotten Tomatoes %` <dbl>, `Worldwide Gross` <chr>,
## # release_year <dbl>
Question 2 select():
movies3 <- movies2 %>%
select(movie_title, release_year, Genre, Profitability, `Rotten Tomatoes %`)
print(head(movies3))
## # A tibble: 6 × 5
## movie_title release_year Genre Profitability `Rotten Tomatoes %`
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 Zack and Miri Make a Por… 2008 Roma… 1.75 64
## 2 Youth in Revolt 2010 Come… 1.09 68
## 3 You Will Meet a Tall Dar… 2010 Come… 1.21 43
## 4 When in Rome 2010 Come… 0 15
## 5 What Happens in Vegas 2008 Come… 6.27 28
## 6 Water For Elephants 2011 Drama 3.08 60
Question 3 filter():
movies4 <- movies3 %>%
filter(release_year >= 2000 & `Rotten Tomatoes %` >= 80 )
print(head(movies4))
## # A tibble: 6 × 5
## movie_title release_year Genre Profitability `Rotten Tomatoes %`
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 WALL-E 2008 Animati… 2.90 96
## 2 Waitress 2007 Romance 11.1 89
## 3 Tangled 2010 Animati… 1.37 89
## 4 Rachel Getting Married 2008 Drama 1.38 85
## 5 My Week with Marilyn 2011 Drama 0.826 83
## 6 Midnight in Paris 2011 Romence 8.74 93
Question 4 mutate():
movies4 <- movies4 %>%
mutate(Profitability_millions = Profitability * 1000000)
print(head(movies4))
## # A tibble: 6 × 6
## movie_title release_year Genre Profitability `Rotten Tomatoes %`
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 WALL-E 2008 Animati… 2.90 96
## 2 Waitress 2007 Romance 11.1 89
## 3 Tangled 2010 Animati… 1.37 89
## 4 Rachel Getting Married 2008 Drama 1.38 85
## 5 My Week with Marilyn 2011 Drama 0.826 83
## 6 Midnight in Paris 2011 Romence 8.74 93
## # ℹ 1 more variable: Profitability_millions <dbl>
Question 5 arrange():
movies5 <- movies4 %>%
arrange(desc('Rotten Tomatoes %') , desc(Profitability_millions))
print(head(movies5))
## # A tibble: 6 × 6
## movie_title release_year Genre Profitability `Rotten Tomatoes %`
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 Waitress 2007 Romance 11.1 89
## 2 Midnight in Paris 2011 Romence 8.74 93
## 3 (500) Days of Summer 2009 comedy 8.10 87
## 4 Knocked Up 2007 Comedy 6.64 91
## 5 Beginners 2011 Comedy 4.47 84
## 6 A Serious Man 2009 Drama 4.38 89
## # ℹ 1 more variable: Profitability_millions <dbl>
Question 6 Combining functions:
moviesfinal <- movies %>%
rename(movie_title = Film, release_year = Year) %>%
select(movie_title, release_year, Genre, Profitability, `Rotten Tomatoes %`) %>%
filter(release_year >= 2000 & `Rotten Tomatoes %` >= 80 ) %>%
mutate(Profitability_millions = Profitability * 1000000) %>%
arrange(desc('Rotten Tomatoes %') , desc(Profitability_millions))
print(head(moviesfinal))
## # A tibble: 6 × 6
## movie_title release_year Genre Profitability `Rotten Tomatoes %`
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 Waitress 2007 Romance 11.1 89
## 2 Midnight in Paris 2011 Romence 8.74 93
## 3 (500) Days of Summer 2009 comedy 8.10 87
## 4 Knocked Up 2007 Comedy 6.64 91
## 5 Beginners 2011 Comedy 4.47 84
## 6 A Serious Man 2009 Drama 4.38 89
## # ℹ 1 more variable: Profitability_millions <dbl>
Question 7 Interpret question 6
From the resulting data the best movies tend to be the most popular.
The top six results consist of drama, romance, and comedy movies which
all have rotten tomato scores in the high 80s or the 90s(besides one
outlier). All of these movies also have very impressive profitability
numbers which range from four million to eleven million.