knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file()) # Set WD to Root here::i_am("lab_mod/ch3-lm-lab.Rmd") library(here) library(ISLR2) library(MASS) library(tidyverse) library(broom) library(plotly)
head(Boston)
lstat vs medvlstat vs medvBoston %>% ggplot(aes(lstat, medv)) + geom_point(alpha = 0.4) + geom_smooth(method = "lm")
lstat vs medvboston_lm_medv.lstat <- lm(medv ~ lstat, Boston) boston_lm_medv.lstat
summary(boston_lm_medv.lstat)
names(boston_lm_medv.lstat)
Confidence Interval
confint(boston_lm_medv.lstat)
broom::tidy(boston_lm_medv.lstat)
broom::augment(boston_lm_medv.lstat)
predict(boston_lm_medv.lstat, data.frame(lstat = (c(5, 10, 15))), interval = "confidence")
predict(boston_lm_medv.lstat, data.frame(lstat = (c(5, 10, 15))), interval = "prediction")
medv ~ lstat + ageboston_lm_medv.lstat_age <- lm(medv ~ lstat + age, data = Boston) summary(boston_lm_medv.lstat_age)
par(mfrow = c(2,2)) plot(boston_lm_medv.lstat_age)
boston_lm_medv_all <- lm(medv ~ ., data = Boston ) summary(boston_lm_medv_all)
Since age and indus is not significant, we will remove them.
boston_lm_medv_allupd <- update(boston_lm_medv_all, ~. -age-indus) summary(boston_lm_medv_allupd)
Boston %>% plotly::plot_ly(x = ~lstat, y = ~age, z = ~medv, size = 1)
boston_lm_medv_lstat_i_age <- lm(medv ~ lstat*age, Boston) summary(boston_lm_medv_lstat_i_age)
Boston %>% ggplot(aes(lstat, medv)) + geom_point(alpha = 0.4) + geom_smooth(formula = "y ~ x + I(x^2)", method = "lm")
lm(medv ~ lstat + I(lstat^2), Boston) %>% summary()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.