library(ggplot2)
library(dplyr)
# Prettier graphs
theme_set(theme_bw())
Reconsider the anorexia data that we investigated in Homework 7:
anorexia <- read.csv("https://collinn.github.io/data/anorexia.txt")
mutate function to
again create a variable called Diff that records the
difference in pre and post weightsThis question will again consider the mtcars dataset
built into R
data(mtcars)
We will be investigating the relationship between the weight of a car (independent variable) and its miles per gallon (dependent variable). In addition to this, we will also be using the number of carburetors as a second independent variable.
mpg with the covariates wt and
carb. Based on the results, does it appear that the number
of carburetors has a relationship with fuel economy (mpg)?carb is stored in
the dataset as an integer value. Use the mutate
function to create a new variable in the mtcars dataset
called carb_factor that is equal to
carb_factor = fator(carb). This will turn the new variable
into a categorical one instead of an integermpg with wt and
carb_factor. What has changed this time? Specifically, what
do the covariates in the new model represent, and how is this different
from what we saw in Part A? (Hint: how do the estimates for
factor_carb change as the number of carburetors
increases?)Included below are data from 70 Hollywood films released between 2007 and 2001. Movies in this dataset include Action and Comedy films from two major studios, Fox and Paramount. The plot below illustrates the total sales over a film’s opening weekend, with a color aesthetic to indicate the number of theaters in which the film was shown: dark red corresponds to a film showing in a large number of theaters, while dark blue indicates that it was shown in relatively few theaters.
movies <- read.csv("https://collinn.github.io/data/hollywood.csv")
movies <- subset(movies, LeadStudio %in% c("Paramount", "Fox") &
Genre %in% c("Action", "Comedy"))
ggplot(movies, aes(Genre, OpeningWeekend, color = TheatersOpenWeek)) +
geom_jitter(width = 0.1, size = 3) +
facet_wrap(~LeadStudio) +
scale_color_continuous(type = "viridis", option = "H") +
geom_smooth(method = lm, se = FALSE) +
scale_y_continuous(breaks = seq(0, 140, by = 10))
Below is summary information for a linear regression model with
revenue from the opening weekend (OpeningWeekend) serving
as the dependent variable and with film studio
(LeadStudio) and genre (Genre) serving as the
independent variables.
> lm(OpeningWeekend ~ Genre + LeadStudio, movies) %>% summary()
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 36.15 4.81 7.52 0.00000000018 ***
GenreComedy -25.69 5.78 -4.44 0.00003427689 ***
LeadStudioParamount 14.69 5.94 2.47 0.016 *
Residual standard error: 24.2 on 67 degrees of freedom
Multiple R-squared: 0.288, Adjusted R-squared: 0.266
F-statistic: 13.5 on 2 and 67 DF, p-value: 0.0000116
You will use these plots and summary data to answer the following questions:
Part A: Provide an interpretation of the intercept of this model.
Part B: Again using the summary information, find the predicted opening weekend revenue for each genre/studio combination (i.e., predicted opening revenue for a Comedy film from Fox)
Part C: We are now interested in determining if the
variable for the number of theaters showing a film on opening weekend
(TheatersOpenWeek) should be included in our model. We will
do this by plotting the residuals of the model above against the missing
variables. Determine which of the plots below shows the correct
association between the model residuals and the number of theaters on
opening weekend. Include 1-2 sentences to justify your answer.
fit <- lm(OpeningWeekend ~ Genre + LeadStudio, movies)
movies$Residuals <- fit$residuals
p1 <- ggplot(movies, aes(TheatersOpenWeek, Residuals)) +
geom_point(size = 2) + xlab("Theaters on Opening Weekend") +
ggtitle("Plot A")
p2 <- ggplot(movies, aes(TheatersOpenWeek, -Residuals)) +
geom_point(size = 2) + xlab("Theaters on Opening Weekend") +
ylab("Residuals") + ggtitle("Plot B")
gridExtra::grid.arrange(p1, p2, nrow = 1)
Part D: Below is the updated model for predicting revenue on opening weekend, now including the variable for the number of theaters:
> lm(OpeningWeekend ~ Genre + LeadStudio + TheatersOpenWeek, movies) %>% summary()
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -21.48761 9.95081 -2.16 0.0345 *
GenreComedy -13.69726 4.99129 -2.74 0.0078 **
LeadStudioParamount 8.74991 4.82823 1.81 0.0745 .
TheatersOpenWeek 0.01804 0.00287 6.28 0.000000031 ***
Residual standard error: 19.3 on 66 degrees of freedom
Multiple R-squared: 0.554, Adjusted R-squared: 0.534
F-statistic: 27.3 on 3 and 66 DF, p-value: 0.0000000000133
Consider the two linear models from this problem, both with and
without the variable TheatersOpenWeek. Based on the summary
information in the output, which would you prefer to use to predict
revenue on opening weekend? Briefly justify your answer.