--- title: "IPS9 in R: Two-way analysis of variance (Chapter 13)" author: "Bonnie Lin and Nicholas Horton (nhorton@amherst.edu)" date: "July 20, 2018" output: pdf_document: fig_height: 3 fig_width: 5 html_document: fig_height: 3 fig_width: 5 word_document: fig_height: 4 fig_width: 6 --- ```{r, include = FALSE} # Don't delete this chunk if you are using the mosaic package # This loads the mosaic and dplyr packages require(mosaic) ``` ```{r, include = FALSE} # knitr settings to control how R chunks work. knitr::opts_chunk$set( tidy = FALSE, # display code as typed size = "small" # slightly smaller font for code ) ``` ## Introduction and background These documents are intended to help describe how to undertake analyses introduced as examples in the Ninth Edition of \emph{Introduction to the Practice of Statistics} (2017) by Moore, McCabe, and Craig. More information about the book can be found [here](https://macmillanlearning.com/Catalog/product/introductiontothepracticeofstatistics-ninthedition-moore). The data used in these documents can be found under Data Sets in the [Student Site](https://www.macmillanlearning.com/catalog/studentresources/ips9e?_ga=2.29224888.526668012.1531487989-1209447309.1529940008#). This file as well as the associated R Markdown reproducible analysis source file used to create it can be found at https://nhorton.people.amherst.edu/ips9/. This work leverages initiatives undertaken by Project MOSAIC (http://www.mosaic-web.org), an NSF-funded effort to improve the teaching of statistics, calculus, science and computing in the undergraduate curriculum. In particular, we utilize the `mosaic` package, which was written to simplify the use of R for introductory statistics courses. A short summary of the R needed to teach introductory statistics can be found in the mosaic package vignettes (http://cran.r-project.org/web/packages/mosaic). A paper describing the mosaic approach was published in the *R Journal*: https://journal.r-project.org/archive/2017/RJ-2017-024. ## Chapter 13: Two-way analysis of variance This file replicates the analyses from Chapter 13: Two-way analysis of variance. First, load the packages that will be needed for this document: ```{r load-packages} library(mosaic) library(readr) ``` ### Section 13.1: The two-way ANOVA model ```{r eg13-8, message=FALSE} HRTRATE <- read_csv("https://nhorton.people.amherst.edu/ips9/data/chapter13/EG13-08HRTRATE.csv") head(HRTRATE) ``` By default, the `read_csv()` function will output the types of columns, as we see above. To improve readability for future coding, we will suppress the "Parsed with column specification" message by adding `message = FALSE` at the top of the code chunks. We need to transform the data from wide to tall format using the `gather()` function. ```{r} HRTRATE_tidy <- HRTRATE %>% tidyr::gather(key = Group, value = Heart_Rate, Control, Runners) head(HRTRATE_tidy) ``` ```{r} ## Figure 13.4, age 710 favstats(Heart_Rate ~ Sex + Group, data = HRTRATE_tidy) ## Figure 13.5, age 711 lm_HRTRATE <- lm(Heart_Rate ~ Group * Sex, data = HRTRATE_tidy) msummary(lm_HRTRATE) anova(lm_HRTRATE) ``` We see that there is a significant interaction (p=0.007): the sex difference between the heart rates differs by groups. ```{r} ### Figure 13.6, page 712 with(HRTRATE_tidy, interaction.plot(Group, Sex, Heart_Rate)) ``` ### Section 13.2: Inference for two-way ANOVA