Download and read data
url <- "https://d396qusza40orc.cloudfront.net/appliedregression/Homeworks/week2-HW-data.csv"
download.file(url, "sbp.csv", mode = "wb")
bp <- read.csv("sbp.csv")
names(bp) <- tolower(names(bp))
Create a list of model formulae to avoid copypasting
f <- c("sbp ~ smk", "sbp ~ quet", "quet ~ age", "sbp ~ age")
form <- lapply(f, as.formula, env = new.env())
Create a list of ANOVA tables
( anTables <- lapply(form,
function(x) anova(lm(x, data = bp))) )
## [[1]]
## Analysis of Variance Table
##
## Response: sbp
## Df Sum Sq Mean Sq F value Pr(>F)
## smk 1 393.1 393.1 1.9548 0.1723
## Residuals 30 6032.9 201.1
##
## [[2]]
## Analysis of Variance Table
##
## Response: sbp
## Df Sum Sq Mean Sq F value Pr(>F)
## quet 1 3537.9 3537.9 36.751 1.172e-06 ***
## Residuals 30 2888.0 96.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[3]]
## Analysis of Variance Table
##
## Response: quet
## Df Sum Sq Mean Sq F value Pr(>F)
## age 1 4.9360 4.9360 54.367 3.253e-08 ***
## Residuals 30 2.7237 0.0908
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## [[4]]
## Analysis of Variance Table
##
## Response: sbp
## Df Sum Sq Mean Sq F value Pr(>F)
## age 1 3861.6 3861.6 45.177 1.894e-07 ***
## Residuals 30 2564.3 85.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Testing for significance:
ftests <- sapply(anTables, function (x) ifelse(x$Pr[1] > .05, "Fail to reject",
"Reject"))
names(ftests) <- f
ftests
## sbp ~ smk sbp ~ quet quet ~ age sbp ~ age
## "Fail to reject" "Reject" "Reject" "Reject"
Hypothesis testing performed in ex. 2 gave us the evidence that: