In [ ]:
library(MASS)
library(Boston)
library(ISLR)

In [ ]:
names(Boston)

In [ ]:
plot(medv ~ lstat, Boston)

In [ ]:
fit1 <- lm(medv ~ lstat, data = Boston)
fit1

In [ ]:
summary(fit1)

In [ ]:
plot(medv ~ lstat, Boston)
abline(fit1, col = "red")

In [ ]:
names(fit1)

In [ ]:
confint(fit1)

In [ ]:
predict(fit1, data.frame(lstat=c(5, 10, 15)), interval = "confidence")

Multiple


In [ ]:
fit2 <- lm(medv ~ lstat+age, data = Boston)
summary(fit2)

In [ ]:
fit3 <- lm(medv ~ ., data = Boston)
summary(fit3)

In [ ]:
par(mfrow = c(2, 2))
plot(fit3)

In [ ]:
fit4 <- update(fit3, ~ . - age - indus)
summary(fit4)

In [ ]:
fit5 <- lm(medv ~ lstat*age, data = Boston)
summary(fit5)

In [ ]:
fit6 <- lm(medv ~ lstat + I(lstat^2), data = Boston)
summary(fit6)

In [ ]:
plot(medv ~ lstat)
points(lstat, fitted(fit6), col = "red", pch = 20, data = Boston)

In [ ]:
fit7 <- lm(medv ~ poly(lstat, 4), data = Boston)
summary(fit7)

In [ ]:
plot(medv ~ lstat, data = Boston)
points(Boston$lstat, fitted(fit6), col = "red", pch = 20)
points(Boston$lstat, fitted(fit7), col = "blue", pch = 20)

In [ ]:
plot(1:20, 1:20, pch = 1:20, cex = 2)

In [ ]:
library(ISLR)
names(Carseats)

In [ ]:
summary(Carseats)

In [ ]:
fit1 <- lm(Sales~. + Income:Advertising + Age:Price, data = Carseats)
summary(fit1)

In [ ]:
contrasts(Carseats$ShelveLoc)

In [ ]:
regplot <- function(x, y, ...) {
    fit1 <- lm(y ~ x)
    plot(x, y, ...)
    abline(fit1, col = "red")
}
regplot(Carseats$Price, Carseats$Sales, xlab = "Price", ylab = "Sales", col = "blue", pch = 20)