Exercise

# Adding trend lines from linear regression models

The low-level plot function `abline()`

adds a straight line to an existing plot. This line is specified by an intercept parameter `a`

and a slope parameter `b`

, and the simplest way to set these parameters is directly. For example, the command `abline(a = 0, b = 1)`

adds an *equality reference line* with zero intercept and unit (i.e. 1) slope: points for which y = x fall on this reference line, while points with y > x fall above it, and points with y < x fall below it.

An alternative way of specifying these parameters is through a linear regression model that determines them from data. One common application is to generate a scatterplot of y versus x, then fit a linear model that predicts y from x, and finally call `abline()`

to add this *best fit* line to the plot.

This exercise asks you to do this for the `Gas`

versus `Temp`

data from the `whiteside`

data frame in the `MASS`

package. The standard R function that fits linear regression models is `lm()`

, which supports the formula interface. Thus, to fit a linear model that predicts `y`

from `x`

in the data frame `df`

, the call would be `lm(y ~ x, data = df)`

. This call returns a linear model object, which can then be passed as an argument to the `abline()`

function to draw the desired line on our plot.

Instructions

**100 XP**

- Use the
`lm()`

function to create`linear_model`

, a linear regression model that predicts`Gas`

from`Temp`

from the`whiteside`

data frame. - Generate a scatterplot of
`Gas`

vs.`Temp`

. - Using the
`abline()`

function, add a dashed reference line (set line type to`2`

) that shows the predictions of`linear_model`

.