From 71cf076f6354e6035b22d6fff3eb8d9ce1e189bf Mon Sep 17 00:00:00 2001 From: Caitlin Mothes Date: Fri, 27 Sep 2024 14:19:29 -0600 Subject: [PATCH] fix white lines in Power plots --- 08-power.Rmd | 8 ++++---- .../figure-html/unnamed-chunk-162-1.png | Bin 58877 -> 58697 bytes .../figure-html/unnamed-chunk-163-1.png | Bin 59022 -> 58923 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 58877 -> 58697 bytes .../figure-html/unnamed-chunk-7-1.png | Bin 59022 -> 58923 bytes .../figure-html/unnamed-chunk-162-1.png | Bin 58877 -> 58697 bytes .../figure-html/unnamed-chunk-163-1.png | Bin 59022 -> 58923 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 58877 -> 58697 bytes .../figure-html/unnamed-chunk-7-1.png | Bin 59022 -> 58923 bytes ...relation-and-simple-linear-regression.html | 4 ++-- docs/data-visualization-in-r.html | 4 ++-- docs/power.html | 16 ++++++++-------- docs/r-skills-review.html | 4 ++-- docs/search_index.json | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/08-power.Rmd b/08-power.Rmd index e04ad43..e1b50ec 100644 --- a/08-power.Rmd +++ b/08-power.Rmd @@ -103,8 +103,8 @@ penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.50) + - geom_vline(xintercept = 38.8) + - geom_vline(xintercept = 47.5) + geom_vline(xintercept = 38.8, col = "black") + + geom_vline(xintercept = 47.5, col = "black") ``` In the grand scheme of things the difference between these two populations is relatively small in magnitude: their histograms overlap, indicating that some penguins in both species often have similar bill lengths. But, what if the bills of all of the Gentoo penguins *magically* grew an extra 15 mm? @@ -116,8 +116,8 @@ penguins %>% mutate(bill_length_mm = if_else(species == "Gentoo", bill_length_mm + 15, bill_length_mm)) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.56) + - geom_vline(xintercept = 38.8) + - geom_vline(xintercept = 62.5) # I found this from the new mutated values separately + geom_vline(xintercept = 38.8, col = "black") + + geom_vline(xintercept = 62.5, col = "black") # I found this from the new mutated values separately ``` And now perform the t-test on this new *magical* data: diff --git a/_bookdown_files/_main_files/figure-html/unnamed-chunk-162-1.png b/_bookdown_files/_main_files/figure-html/unnamed-chunk-162-1.png index 4f72ed7bf2ec42eb29ef05b0ef1726db6e06788a..1553bdd4137b29b24be4a921f1112e25c78a2c2a 100644 GIT binary patch literal 58697 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 literal 58877 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 E0J>*4g8%>k diff --git a/_bookdown_files/_main_files/figure-html/unnamed-chunk-163-1.png b/_bookdown_files/_main_files/figure-html/unnamed-chunk-163-1.png index 29b406cb6243c95f8d73d4438f12d245a818e11e..fdbc2244f7408e18bca3393f5c69bf3fddf37458 100644 GIT binary patch literal 58923 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 ZVjO~cI>lp!<;mc`Ggze)X~&GO{x8rUr=b7< literal 59022 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 diff --git a/_bookdown_files/_main_files/figure-html/unnamed-chunk-6-1.png b/_bookdown_files/_main_files/figure-html/unnamed-chunk-6-1.png index 4f72ed7bf2ec42eb29ef05b0ef1726db6e06788a..1553bdd4137b29b24be4a921f1112e25c78a2c2a 100644 GIT binary patch literal 58697 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 literal 58877 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 E0J>*4g8%>k diff --git a/_bookdown_files/_main_files/figure-html/unnamed-chunk-7-1.png b/_bookdown_files/_main_files/figure-html/unnamed-chunk-7-1.png index 29b406cb6243c95f8d73d4438f12d245a818e11e..fdbc2244f7408e18bca3393f5c69bf3fddf37458 100644 GIT binary patch literal 58923 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 ZVjO~cI>lp!<;mc`Ggze)X~&GO{x8rUr=b7< literal 59022 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 diff --git a/docs/_main_files/figure-html/unnamed-chunk-162-1.png b/docs/_main_files/figure-html/unnamed-chunk-162-1.png index 4f72ed7bf2ec42eb29ef05b0ef1726db6e06788a..1553bdd4137b29b24be4a921f1112e25c78a2c2a 100644 GIT binary patch literal 58697 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 literal 58877 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 E0J>*4g8%>k diff --git a/docs/_main_files/figure-html/unnamed-chunk-163-1.png b/docs/_main_files/figure-html/unnamed-chunk-163-1.png index 29b406cb6243c95f8d73d4438f12d245a818e11e..fdbc2244f7408e18bca3393f5c69bf3fddf37458 100644 GIT binary patch literal 58923 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 ZVjO~cI>lp!<;mc`Ggze)X~&GO{x8rUr=b7< literal 59022 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 diff --git a/docs/_main_files/figure-html/unnamed-chunk-6-1.png b/docs/_main_files/figure-html/unnamed-chunk-6-1.png index 4f72ed7bf2ec42eb29ef05b0ef1726db6e06788a..1553bdd4137b29b24be4a921f1112e25c78a2c2a 100644 GIT binary patch literal 58697 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 literal 58877 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 E0J>*4g8%>k diff --git a/docs/_main_files/figure-html/unnamed-chunk-7-1.png b/docs/_main_files/figure-html/unnamed-chunk-7-1.png index 29b406cb6243c95f8d73d4438f12d245a818e11e..fdbc2244f7408e18bca3393f5c69bf3fddf37458 100644 GIT binary patch literal 58923 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 ZVjO~cI>lp!<;mc`Ggze)X~&GO{x8rUr=b7< literal 59022 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 diff --git a/docs/correlation-and-simple-linear-regression.html b/docs/correlation-and-simple-linear-regression.html index 4589c82..ca08ebb 100644 --- a/docs/correlation-and-simple-linear-regression.html +++ b/docs/correlation-and-simple-linear-regression.html @@ -342,13 +342,13 @@
7.1.0.1.1 Parametric vs. non-par ## Shapiro-Wilk normality test ## ## data: sal_sub$length_2_mm -## W = 0.93331, p-value < 2.2e-16 +## W = 0.93584, p-value < 2.2e-16
shapiro.test(sal_sub$weight_g)
## 
 ##  Shapiro-Wilk normality test
 ## 
 ## data:  sal_sub$weight_g
-## W = 0.56817, p-value < 2.2e-16
+## W = 0.5666, p-value < 2.2e-16

The null hypothesis of the Shapiro-Wilk normality test is that the variable is normally distributed, so a p-value less than 0.05, at 95% confidence (as we see for both of our variables here) tells use that our data does not fit a normal distribution.

Therefore we have two options as we did with our t-test example in the previous lesson: transform the variables and see if that helps, or use a non-parametric test. Here, we will go ahead with the non-parametric Spearman correlation test.

diff --git a/docs/data-visualization-in-r.html b/docs/data-visualization-in-r.html index 8e86409..7b83253 100644 --- a/docs/data-visualization-in-r.html +++ b/docs/data-visualization-in-r.html @@ -734,8 +734,8 @@

5.1.4.1 Want to make it interacti legend.position = "bottom", legend.text = element_text(size = 8) ))

-
- +
+

Note that we removed the annotations as plotly doesn’t yet support them.


diff --git a/docs/power.html b/docs/power.html index 56dd190..9be33e1 100644 --- a/docs/power.html +++ b/docs/power.html @@ -368,9 +368,9 @@

9.0.1.1 Sample size ungroup() %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE)
## # A tibble: 1 × 15
-##   estimate estimate1 estimate2 .y.           group1 group2    n1    n2 statistic       p    df conf.low
-## *    <dbl>     <dbl>     <dbl> <chr>         <chr>  <chr>  <int> <int>     <dbl>   <dbl> <dbl>    <dbl>
-## 1    -13.4      37.2      50.6 bill_length_… Adelie Gentoo     2     2     -15.7 0.00449  1.95    -17.2
+##   estimate estimate1 estimate2 .y.            group1 group2    n1    n2 statistic      p    df conf.low
+## *    <dbl>     <dbl>     <dbl> <chr>          <chr>  <chr>  <int> <int>     <dbl>  <dbl> <dbl>    <dbl>
+## 1    -8.65      39.6      48.3 bill_length_mm Adelie Gentoo     2     2     -4.20 0.0884  1.45    -21.7
 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr>

Compared to the p-value in the previous test, this p-value is much larger and, depending on which random samples were chosen in slice_sample, likely higher than our cut-off of 0.05 and would lead to an insignificant difference in bill length between the two species.

Therefore, as sample size decreases, so does our power in identifying true trends.

@@ -382,8 +382,8 @@

9.0.1.2 Magnitude of effect filter(species %in% c("Adelie", "Gentoo")) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.50) + - geom_vline(xintercept = 38.8) + - geom_vline(xintercept = 47.5) + geom_vline(xintercept = 38.8, col = "black") + + geom_vline(xintercept = 47.5, col = "black")

In the grand scheme of things the difference between these two populations is relatively small in magnitude: their histograms overlap, indicating that some penguins in both species often have similar bill lengths. But, what if the bills of all of the Gentoo penguins magically grew an extra 15 mm?

penguins %>%
@@ -392,8 +392,8 @@ 

9.0.1.2 Magnitude of effect mutate(bill_length_mm = if_else(species == "Gentoo", bill_length_mm + 15, bill_length_mm)) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.56) + - geom_vline(xintercept = 38.8) + - geom_vline(xintercept = 62.5) # I found this from the new mutated values separately

+ geom_vline(xintercept = 38.8, col = "black") + + geom_vline(xintercept = 62.5, col = "black") # I found this from the new mutated values separately

And now perform the t-test on this new magical data:

diff --git a/docs/r-skills-review.html b/docs/r-skills-review.html index d9bffd3..c73e6e5 100644 --- a/docs/r-skills-review.html +++ b/docs/r-skills-review.html @@ -321,8 +321,8 @@

10.0.0.1 Necessary packages:10.1 Tidying datasets

We are interested in looking at how the Cache la Poudre River’s flow changes over time and space as it travels out of the mountainous Poudre Canyon and through Fort Collins.

There are four stream flow monitoring sites on the Poudre that we are interested in: two managed by the US Geological Survey (USGS), and two managed by the Colorado Division of Water Resources (CDWR):

-
- +
+


We are going to work through retrieving the raw data from both the USGS and CDWR databases.

diff --git a/docs/search_index.json b/docs/search_index.json index 07ccb9d..4e897b9 100644 --- a/docs/search_index.json +++ b/docs/search_index.json @@ -1 +1 @@ -[["index.html", "Introduction to Environmental Data Science 1 Welcome! Set up Instructions Navigating this site Goals Approach and Expectations Class Schedule Additional introductory resources", " Introduction to Environmental Data Science Caitlin Mothes, PhD and Katie Willi 2024-09-27 1 Welcome! This site hosts the course curriculum for Colorado State University’s ESS 523A course: Introduction to Environmental Data Science Set up Instructions As your first step, please follow the instructions on the R Setup page to make sure you have all the necessary software installed on your computer before the class starts. Navigating this site The table of contents on the left allows you to navigate to the lesson for each week of the course. Each lesson will walk you through the topic(s), analysis, etc. for that week. There are exercises at the end of the lesson that will be that week’s homework assignment. Homework will be submitted through Canvas and exercise questions (including any code, figures, etc.) must be submitted as a rendered R Markdown document in Word or HTML format. The Intro to R and R Markdown lesson will walk through how to create these R Markdown documents; you will use these R Markdowns as the basis for writing your code/answers to the exercises and then render them to either a Word or HTML report which is what you will submit through Canvas. Goals The broad goal of this course is to learn the data science tools and best practices for working with environmental datasets using the programming language R. Specific to the content in this website, students will learn how to: Navigate the RStudio interface and create R Markdown documents for reproducible reporting; Utilize R packages and functions to manipulate and analyze data effectively and apply data wrangling techniques using the {tidyverse} framework; Differentiate between various data types and structures within R; and Explore comparative analyses, linear regression, and trend analysis techniques to reveal patterns in data. Approach and Expectations This class is flipped, meaning all materials for the week ahead must be reviewed before class. To encourage this we will have weekly quizzes on pre-class content each Monday before we dive into the assignment. So without lectures in class what do we do together? We code! This class has almost 6 hours of contact time per week, and we design lessons so that you should be able to finish your assignments in class. The flipped class allows for deeper discussion about the common pitfalls of coding and allows for collaborative work time with your fellow classmates. Generally we will do a quick live-code review of concepts from the assignment and the pre-class materials, but more than 1 hour per class will be dedicated to you coding and working on the assignment in class. As such, coming to class is a vital part of how you can be successful and we fully expect you to be there every day. We also will actively encourage a collaborative coding environment where students help each other and discuss the best approach to solving various coding problems. We also hope that outside of class, you will use our Teams channel to discuss code issues! We will always send announcements with assignments, web links, and other updates through Canvas. The course syllabus will also be posted on Canvas. Class Schedule All links to Primers lessons (except for R Markdown) can be found here: https://github.com/rossyndicate/primers/blob/main/README.md All assignments are due by midnight of the specified date and are subject to change. Week Date (Monday) Content Assignment Due Date 1 8/19 Before class: Primers Basics and R Markdown; download R and RStudio Introduction to R, RStudio, RMarkdown Assignment - None N/A 2 8/26 Before class: Work with Data Exploratory data analysis Assignment - Exploratory Data Analysis (20 points) 9/3 3 9/2 No Class Monday 9/2! Before class Wednesday: Visualize Data Data visualization Assignment - Bad Plots (20 points) 9/9 4 9/9 Before class: Tidy Your Data Introduction to statistical analysis - T-tests, ANOVA Assignment - T-Tests and ANOVA (20 points) 9/16 5 9/16 Before class: Iterate Simple Linear Regression Assignment - Simple regression (20 points) 9/23 6 9/23 Before class: Write Functions Multiple Linear Regression Assignment - Interpreting multiple linear regression (20 points) 9/30 7 9/30 Power in Statistical Analysis and R Skills Review Assignment - Power (20 points) 10/7 8 10/7 Intro to Git and GitHub Assignment - First Git Repo and Pull Request (20 points) 10/14 9 10/14 Debugging Assignment - Debugging LLM Output (20 points) 10/21 10 10/21 Iteration, Functions, API calls Assignment - National Park Visitation (20 points) 10/28 11 10/28 Introduction to Working with Geospatial Data; Final Project Overview N/A 12 11/4 Introduction to Working with Geospatial Data (cont.) Assignment - Geospatial Workflows (20 points) 11/11 13 11/11 Nested Modeling Assignment - Water quality modeling (20 points) 11/18 14 11/18 Introduction to Machine Learning Assignment - Remote sensing of water quality (20 points) 12/02 15 11/25 No Classes - Fall Break 16 12/02 Final Projects - R Markdown, Bookdown, Quarto, Shiny Assignment - Final Project (100 points) 12/11 Additional introductory resources If you are looking to learn even more outside of what this class offers, below are some great introductory R resources: Stat 158 - Vectors, data frames, installing R, etc… RStudio Materials - A series of videos, books, and more to get you started in R. 1.0.0.1 Tidyverse Introduction R for Data Science - Covers all of the basic intro material, from a tidyverse perspective. As discussed, this is one way to find solutions in R, it happens to be my preferred way, but there are lots of Base R ways that work just fine! Stat 159 - A CSU specific course for an intro to the tidyverse R Markdown - The primary book for learning more about R Markdown and all of its quirks. Cheatsheets - Short, clear documents that cover so much material from dplyr to shiny apps. Great for quick references. We find the rmarkdown and ggplot2 ones particularly useful! "],["setup-instructions.html", " 2 Setup Instructions 2.1 Install R and RStudio 2.2 Package Installation", " 2 Setup Instructions This tutorial walks you through all the required setup steps for using R and RStudio in this course. Please use our class’s Teams Channel to post any questions/problems that you encounter. 2.1 Install R and RStudio R is an open source language and software environment for statistical analysis and graphics (plus so much more!). You must first download the R software (for free) here: https://www.r-project.org/. Click the download link based on your operating system (OS). Then, for Mac users, install the latest release based on your macOS. For Windows users, click the ‘install R for the first time’ link. Note: If you already have R installed, you must have at least version 4.0.0. or greater, but it is best to have the most recent version installed (4.3.1) RStudio is a (also free) R Integrated Development Environment (IDE) that provides a built-in editor and other advantages such as version control and project management. Once you have the R software installed on your computer, you can install RStudio Desktop here: https://posit.co/download/rstudio-desktop/. Under Step 2 click the download RStudio Desktop button. 2.2 Package Installation While the R software comes with many pre-loaded functions (referred to as ‘base R’ functions) to perform various operations in R, there are thousands of R packages that provide additional reusable R functions. In order to use these functions you need to first install the package to your local machine using the install.packages() function. Once a package is installed on your computer you don’t need to install it again (but you may have to update it). Anytime you want to use the package in a new R session you can load it with the library() function. We will be working in RStudio for this entire course, so after you have installed both R and RStudio, open a new session of RStudio. You will learn more about the ins and outs of RStudio in class, but for set up purposes you will just be running code in the Console. Normally you want to save the code you write, but since package installation is only needed once (unless you are working on a new machine or need to update any packages) you can execute this directly in the console. Run the following three lines of code (one at a time) in the console. You can click the copy button in the upper right corner when you hover over the code chunk, then paste that after the > in the Console. Spelling and capitalization is important! Install the {tidyverse} package. The Tidyverse is actually a collection of multiple R packages designed for data manipulation, exploration, and visualization that you are likely to use in every day data analysis. When you install the Tidyverse, it installs all of these packages, and you can later load all of them in your R session with library(tidyverse). Since you are installing multiple packages here this may take a little while. install.packages("tidyverse") Install the {palmerpenguins} package. This is a data package that installs a couple of spreadsheets you can load and work with in R. install.packages("palmerpenguins") Install the {rmarkdown} package. Later on in the course you will be working in and rendering R Markdown files and reports. R Markdown is a notebook style interface integrating text and code, allowing you to create fully reproducible documents and render them to various elegantly formatted static or dynamic outputs. You can learn more about R Markdown at their website, which has really informative lessons on their Getting Started page, and see the range of outputs you can create at their Gallery page. install.packages("rmarkdown") To see if you successfully installed all three packages, use the library() function to load the packages into your session. You should either see nothing printed to the console after running library(), or in the case of the tidyverse you may see some messages printed. As long as there are no error messages, you should be all set! Please use our class’s Teams Channel for assistance if you get any error messages. library(tidyverse) library(palmerpenguins) library(rmarkdown) "],["introduction-to-r-rstudio-and-r-markdown.html", " 3 Introduction to R, RStudio and R Markdown 3.1 Getting to know RStudio 3.2 R Projects 3.3 Write a set-up script 3.4 R Markdown 3.5 Explore 3.6 Read and Write Data", " 3 Introduction to R, RStudio and R Markdown In this lesson we will get a general introduction to coding in RStudio, using R Markdown, some R fundamentals such as data types and indexing, and touch on a range of coding topics that we will dive into deeper throughout the course. 3.1 Getting to know RStudio When you first open RStudio, it is split into 3 panels: The Console (left), where you can directly type and run code (by hitting Enter) The Environment/History pane (upper-right), where you can view the objects you currently have stored in your environment and a history of the code you’ve run The Files/Plots/Packages/Help pane (lower-right), where you can search for files, view and save your plots, view and manage what packages are loaded in your library and session, and get R help. Image Credit: Software Carpentry To write and save code you use .R scripts (or RMarkdown, which we will learn shortly). You can open a new script with File -> New File or by clicking the icon with the green plus sign in the upper left corner. When you open a script, RStudio then opens a fourth ‘Source’ panel in the upper-left to write and save your code. You can also send code from a script directly to the console to execute it by highlighting the entire code line/chunk (or place your cursor at the end of the code chunk) and hit CTRL+ENTER on a PC or CMD+ENTER on a Mac. Image Credit: Software Carpentry It is good practice to add comments/notes throughout your scripts to document what the code is doing. To do this start a line with a #. R knows to ignore everything after a #, so you can write whatever you want there. Note that R reads line by line, so if you want your comments to carry over multiple lines you need a # at every line. 3.2 R Projects As a first step whenever you start a new project, workflow, analysis, etc., it is good practice to set up an R project. R Projects are RStudio’s way of bundling together all your files for a specific project, such as data, scripts, results, figures. Your project directory also becomes your working directory, so everything is self-contained and easily portable. We recommend using a single R Project (i.e., contained in a single folder) for this course, so lets create one now. You can start an R project in an existing directory or in a new one. To create a project go to File -> New Project: Let’s choose ‘New Directory’ then ‘New Project’. Now choose a directory name, this will be both the folder name and the project name, so use proper spelling conventions (no spaces!). We recommend naming it something course specific, like ‘WR-696-2023’, or even more generic ‘Intro-R-Fall23’. Choose where on your local file system you want to save this new folder/project (somewhere you can find it easily), then click ‘Create Project’. Now you can see your RStudio session is working in the R project you just created. You can see the working directory printed at the top of your console is now the project directory, and in the ‘Files’ tab in RStudio you can see there is an .Rproj file with the same name as the R project, which will open up this R project in RStudio whenever you come back to it. Test out how this .Rproj file works. Close out of your R session, navigate to the project folder on your computer, and double-click the .Rproj file. What is a working directory? A working directory is the default file path to a specific file location on your computer to read files from or save files to. Since everyone’s computer is unique, everyone’s full file paths will be different. This is an advantage of working in R Projects, you can use relative file paths, since the working directory defaults to wherever the .RProj file is saved on your computer you don’t need to specify the full unique path to read and write files within the project directory. 3.3 Write a set-up script Let’s start coding! The first thing you do in a fresh R session is set up your environment, which mostly includes installing and loading necessary libraries and reading in required data sets. Let’s open a fresh R script and save it in our root (project) directory. Call this script ‘setup.R’. 3.3.1 Functions Before creating a set up script, it might be helpful to understand the use of functions in R if you are new to this programming language. R has many built-in functions to perform various tasks. To run these functions you type the function name followed by parentheses. Within the parentheses you put in your specific arguments needed to run the function. # mathematical functions with numbers log(10) ## [1] 2.302585 # average a range of numbers mean(1:5) ## [1] 3 # nested functions for a string of numbers, using the concatenate function 'c' mean(c(1,2,3,4,5)) ## [1] 3 # functions with characters print("Hello World") ## [1] "Hello World" paste("Hello", "World", sep = "-") ## [1] "Hello-World" 3.3.2 Packages R Packages include reusable functions that are not built-in with R. To use these functions, you must install the package to your local system with the install.packages() function. Once a package is installed on your computer you don’t need to install it again (you will likely need to update it at some point though). Anytime you want to use the package in a new R session you load it with the library() function. When do I use :: ? If you have a package installed, you don’t necessarily have to load it in with library() to use it in your R session. Instead, you can type the package name followed by :: and use any functions in that package. This may be useful for some one-off functions using a specific package, however if you will be using packages a lot throughout your workflow you will want to load it in to your session. You should also use :: in cases where you have multiple packages loaded that may have conflicting functions (e.g., plot() in Base R vs. plot() in the {terra} package). 3.3.2.1 Base R vs. The Tidyverse You may hear us use the terms ‘Base R’ and ‘Tidyverse’ a lot throughout this course. Base R includes functions that are installed with the R software and do not require the installation of additional packages to use them. The Tidyverse is a collection of R packages designed for data manipulation, exploration, and visualization that you are likely to use in every day data analysis, and all use the same design philosophy, grammar, and data structures. When you install the Tidyverse, it installs all of these packages, and you can then load all of them in your R session with library(tidyverse). Base R and the Tidyverse have many similar functions, but many prefer the style, efficiency and functionality of the Tidyverse packages, and we will mostly be sticking to Tidyverse functions for this course. 3.3.2.2 Package load function To make code reproducible (meaning anyone can run your code from their local machines) we can write a function that checks whether or not necessary packages are installed, if not install them and load them, or if they are already installed it will only load them and not re-install. This function looks like: packageLoad <- function(x) { for (i in 1:length(x)) { if (!x[i] %in% installed.packages()) { install.packages(x[i]) } library(x[i], character.only = TRUE) } } For each package name given (‘x’) it checks if it is already installed, if not installs it, and then loads that package into the session. In future lessons we will learn more about writing custom functions, and iterating with for loops, but for now you can copy/paste this function and put it at the top of your set up script. When you execute this chunk of code, you won’t see anything printed in the console, however you should now see packageLoad() in your Environment under ‘Functions’. You can now use this function as many times as you want. Test is out, and use it to install the Tidyverse package(s). packageLoad('tidyverse') You can also give this function a string of package names. Lets install all the packages we will need for the first week, or if you already followed the set up instructions, this will just load the packages into your session since you already installed them. # create a string of package names packages <- c('tidyverse', 'palmerpenguins', 'rmarkdown') # use the packageLoad function we created on those packages packageLoad(packages) Since this is code you will be re-using throughout your workflows, we will save it as its own script and run it at the beginning of other scripts/documents using the source() function as a part of our reproducible workflows. 3.4 R Markdown Throughout this course you will be working mostly in R Markdown documents. R Markdown is a notebook style interface integrating text and code, allowing you to create fully reproducible documents and render them to various elegantly formatted static or dynamic outputs (which is how you will be submitting your assignments). You can learn more at the R Markdown website, which has really informative lessons on the Getting Started page and you can see the range of outputs you can create at the Gallery page. 3.4.1 What About Quarto? Some of you may have heard of Quarto, which is essentially an extension of R Markdown but it lives as its own software to allow its use in other languages such as Python, Julia and Observable. You can install the Quarto CLI on its own and RStudio will detect it so you can create documents within the IDE, or alternatively with newer versions of RStudio a version of Quarto is built-in and you can enable Quarto through the R Markdown tab in Global Options. R Markdown isn’t going anywhere, however many in the data science realm are switching to Quarto. Quarto documents are very similar to R Markdown, in fact Quarto can even render R Markdown documents, so after learning R Markdown in this course you should have some of the fundamental skills to easily switch to Quarto if you want to. You can read more about Quarto here. 3.4.2 Getting started with R Markdown Let’s create a new document by going to File -> New File -> R Markdown. You will be prompted to add information like title and author, fill those in (let’s call it “Intro to R and R Markdown”) and keep the output as HTML for now. Click OK to create the document. This creates an outline of an R Markdown document, and you see the title, author and date you gave the prompt at the top of the document which is called the YAML header. Notice that the file contains three types of content: An (optional) YAML header surrounded by ---s R code chunks surrounded by ```s text mixed with simple text formatting Since this is a notebook style document, you run the code chunks by clicking the green play button in the top right corner of each code chunk, and then the output is returned directly below the chunk. If you’d rather have the code chunk output go to the console instead of directly below the chunk in your R Markdown document, go to Tools -> Global Options -> R Markdown and uncheck “Show output inline for all R Markdown documents” When you want to create a report from your notebook, you render it by hitting the ‘knit’ button at the top of the Source pane (with the ball of yarn next to it), and it will render to the format you have specified in the YAML header. In order to do so though, you need to have the {rmarkdown} package installed. You can delete the rest of the code/text below the YAML header, and insert a new code chunk at the top. You can insert code chunks by clicking the green C with the ‘+’ sign at the top of the source editor, or with the keyboard short cut (Ctrl+Alt+I for Windows, Option+Command+I for Macs). For the rest of the lesson (and course) you will be writing and executing code through code chunks, and you can type any notes in the main body of the document. The first chunk is almost always your set up code, where you read in libraries and any necessary data sets. Here we will execute our set up script to install and load all the libraries we need: source("setup.R") 3.5 Explore Normally when working with a new data set, the first thing we do is explore the data to better understand what we’re working with. To do so, you also need to understand the fundamental data types and structures you can work with in R. 3.5.1 The penguins data For this intro lesson, we are going to use the Palmer Penguins data set (which is loaded with the {palmerpenguins} package you installed in your set up script). This data was collected and made available by Dr. Kristen Gorman and the Palmer Station, Antarctica LTER, a member of the Long Term Ecological Research Network. Load the penguins data set. data("penguins") You now see it in the Environment pane. Print it to the console to see a snapshot of the data: penguins ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows 3.5.2 Data Types This data is structured as a data frame, probably the most common data type and one you are most familiar with. These are like Excel spreadsheets: tabular data organized by rows and columns. However we see at the top this is called a tibble which is just a fancy kind of data frame specific to the Tidyverse. At the top we can see the data type of each column. There are five main data types: character: \"a\", \"swc\" numeric: 2, 15.5 integer: 2L (the L tells R to store this as an integer) logical: TRUE, FALSE complex: 1+4i (complex numbers with real and imaginary parts) Data types are combined to form data structures. R’s basic data structures include: atomic vector list matrix data frame factors You can see the data type or structure of an object using the class() function, and get more specific details using the str() function. (Note that ‘tbl’ stands for tibble). class(penguins) ## [1] "tbl_df" "tbl" "data.frame" str(penguins) ## tibble [344 × 8] (S3: tbl_df/tbl/data.frame) ## $ species : Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ... ## $ island : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ... ## $ bill_length_mm : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ... ## $ bill_depth_mm : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ... ## $ flipper_length_mm: int [1:344] 181 186 195 NA 193 190 181 195 193 190 ... ## $ body_mass_g : int [1:344] 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ... ## $ sex : Factor w/ 2 levels "female","male": 2 1 1 NA 1 2 1 2 NA NA ... ## $ year : int [1:344] 2007 2007 2007 2007 2007 2007 2007 2007 2007 2007 ... class(penguins$species) ## [1] "factor" str(penguins$species) ## Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ... When we pull one column from a data frame like we just did above using the $ operator, that returns a vector. Vectors are 1-dimensional, and must contain data of a single data type (i.e., you cannot have a vector of both numbers and characters). If you want a 1-dimensional object that holds mixed data types and structures, that would be a list. You can put together pretty much anything in a list. myList <- list("apple", 1993, FALSE, penguins) str(myList) ## List of 4 ## $ : chr "apple" ## $ : num 1993 ## $ : logi FALSE ## $ : tibble [344 × 8] (S3: tbl_df/tbl/data.frame) ## ..$ species : Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ... ## ..$ island : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ... ## ..$ bill_length_mm : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ... ## ..$ bill_depth_mm : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ... ## ..$ flipper_length_mm: int [1:344] 181 186 195 NA 193 190 181 195 193 190 ... ## ..$ body_mass_g : int [1:344] 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ... ## ..$ sex : Factor w/ 2 levels "female","male": 2 1 1 NA 1 2 1 2 NA NA ... ## ..$ year : int [1:344] 2007 2007 2007 2007 2007 2007 2007 2007 2007 2007 ... You can even nest lists within lists: list(myList, list("more stuff here", list("and more"))) ## [[1]] ## [[1]][[1]] ## [1] "apple" ## ## [[1]][[2]] ## [1] 1993 ## ## [[1]][[3]] ## [1] FALSE ## ## [[1]][[4]] ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows ## ## ## [[2]] ## [[2]][[1]] ## [1] "more stuff here" ## ## [[2]][[2]] ## [[2]][[2]][[1]] ## [1] "and more" You can use the names() function to retrieve or assign names to list and vector elements: names(myList) <- c("fruit", "year", "logic", "data") names(myList) ## [1] "fruit" "year" "logic" "data" 3.5.3 Indexing Indexing is an extremely important aspect to data exploration and manipulation. In fact you already started indexing when we looked at the data type of individual columns with penguins$species. How you index is dependent on the data structure. Index lists: # for lists we use double brackes [[]] myList[[1]] # select the first stored object in the list ## [1] "apple" myList[["data"]] # select the object in the list named "data" (a data frame) ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows Index vectors: # for vectors we use single brackets [] myVector <- c("apple", "banana", "pear") myVector[2] ## [1] "banana" Index data frames: # dataframe[row(s), columns()] penguins[1:5, 2] penguins[1:5, "island"] penguins[1, 1:5] penguins[1:5, c("species","sex")] penguins[penguins$sex=='female',] # $ for a single column penguins$species To index elements of a list you must use double brackets [[ ]], and to index vectors and data frames you use single brackets [ ] 3.5.3.1 Exercises (not required, but work through them if you want!) Why don’t the following lines of code work? Tweak each one so the code runs myList["Fruit"] penguins$flipper_lenght_mm penguins[island=='Dream',] How many species are in the penguins data set? What islands were the data collected for? (Note: the unique() function might help) Use indexing to create a new data frame that has only 3 columns: species, island and flipper length columns, and subset all rows for just the ‘Dream’ island. Use indexing and the mean() function to find the average flipper length for the Adelie species on Dream island. (Note: explore the mean() function and how to deal with NA values). 3.5.4 The {dplyr} package So far the code you’ve been writing has consisted of Base R functionality. Now lets dive into the Tidyverse with the {dplyr} package. {dplyr} is a Tidyverse package to handle most of your data exploration and manipulation tasks. Now that you have learned indexing, you may notice the first two {dplyr} functions you are going to learn. filter() and select() act as indexing functions by subsetting rows and columns based on specified names and/or conditions. Subset rows with filter() You can filter data in many ways using logical operators (>, >=, <, <=, != (not equal), and == (equal)), AND (&), OR (|), and NOT (!) operators, and other operations such as %in%, which returns everything that matches at least one of the values in a given vector, and is.na() and !is.na() to return all missing or all non-missing data. filter(penguins, species == "Adelie") filter(penguins, species != "Adelie") filter(penguins, island %in% c("Dream", "Torgersen") & !is.na(bill_length_mm)) Note: Tidyverse package functions take in column names without quotations. Using {dplyr} functions will not manipulate the original data, so if you want to save the returned object you need to assign it to a new variable. Select columns with select() select() has many helper functions you can use with it, such as starts_with(), ends_with(), contains() and many more that are very useful when dealing with large data sets. See ?select for more details. Writing out ? ahead of any function from a package will open a description of that function in the “Help” pane. # Select two specific variables select(penguins, species, sex) # Select a range of variables select(penguins, species:flipper_length_mm) # Rename columns within select select(penguins, genus = species, island) # Select column variables that are recorded in mm select(penguins, contains("mm")) Create new variables with mutate() # New variable that calculates bill length in cm mutate(penguins, bill_length_cm = bill_length_mm/10) # mutate based on conditional statements mutate(penguins, species_sex = if_else(sex == 'male', paste0(species,"_m"), paste0(species, "_f"))) Notice the use of paste0() here, and when we briefly used a similar function paste() in the ‘Functions’ section above. Explore the difference between these two. They are both very useful functions for pasting strings together. group_by() and summarise() These can all be used in conjunction with group_by() which changes the scope of each function from operating on the entire data set to operating on it group-by-group. group_by() becomes even more powerful when used along with summarise() to calculate some specified summary statistic for each group. However before we start using multiple operations in conjunction with one another, we need to talk about the pipe operator %>%. 3.5.4.1 The pipe %>% The pipe, %>%, comes from the magrittr package by Stefan Milton Bache. Packages in the Tidyverse load %>% for you automatically, so you don’t usually load {magrittr} explicitly. Pipes are a powerful tool for clearly expressing a sequence of multiple operations. For example, the pipe operator can take this sequence of operations: df1 <- filter(penguins, island == "Dream") df2 <- mutate(df1, flipper_length_cm = flipper_length_mm/10) df3 <- select(df2, species, year, flipper_length_cm) print(df3) And turn it into this, removing the need to create intermediate variables penguins %>% filter(island == "Dream") %>% mutate(flipper_length_cm = flipper_length_mm/10) %>% select(species, year, flipper_length_cm) You can read it as a series of imperative statements: filter, then mutate, then select. A good way to pronounce %>% when reading code is “and then”. It takes the output of the operation to the left of %>% and feeds it into the next function as the input. Say you want to summarize data by some specified group, for example you want to find the average body mass for each species, this is where the group_by() function comes into play. penguins %>% group_by(species) %>% summarise(body_mass_avg = mean(body_mass_g, na.rm = TRUE)) Or get a count of how many individuals were observed for each species each year penguins %>% group_by(species, year) %>% summarise(n_observations = n()) You can even shorten the above operation by using count() instead of summarise. 3.5.4.2 Exercises (not required, but useful if you want to work through them!) Reorder the variables in penguins so that year is the first column followed by the rest (Hint: look into the use of everything()). Create a new column called ‘size_group’ where individuals with body mass greater than the overall average are called ‘large’ and those smaller are called ‘small’. Find out which year for each species had the largest average body mass. You want to filter data for years that are not in a vector of given years, but this code doesn’t work. Tweak it so that it does. (Yes, you could just filter year to equal 2007 in this case but there is a trouble-shooting lessons here). penguins %>% filter(year !%in% c(2008, 2009)) 3.6 Read and Write Data We used an R data package today to read in our data frame, but that probably isn’t how you will normally read in your data. There are many ways to read and write data in R. To read in .csv files, you can use read_csv() which is included in the Tidyverse with the {readr} package, and to save csv files use write_csv(). The {readxl} package is great for reading in excel files, however it is not included in the Tidyverse and will need to be loaded separately. "],["exploratory-data-analysis.html", " 4 Exploratory Data Analysis 4.1 Data wrangling 4.2 Exercises 4.3 Visualization 4.4 Exercises", " 4 Exploratory Data Analysis For this lesson you will be working with the same penguins data from last week. You will be submitting this as your first assignment, so start a new R Markdown document to record your code and answers to the assignment questions, which you will submit as a rendered HTML or Word document on Canvas. You can set up your session by executing your set up script we created in Lesson 1 source("setup.R") OR if you haven’t created your set up script, you can load the two libraries below we will need for today: library(tidyverse) library(palmerpenguins) Note: To avoid warnings and other messages showing up in your rendered R Markdown document, you can set messae = FALSE and warning = FALSE in your code chunk arguments. 4.0.1 The penguins data For this lesson, we are going to use the Palmer Penguins data set (which is loaded with the {palmerpenguins} package). This data was collected and made available by Dr. Kristen Gorman and the Palmer Station, Antarctica LTER, a member of the Long Term Ecological Research Network. Since this is a data set from the data package {palmerpenguins}, we can use the data() function to load it into our session: data("penguins") You should now see it in the Environment pane. Print it to the console to see a snapshot of the data: penguins ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows 4.0.2 Exploratory Data Analysis When working with a new data set, often the first thing you do is perform some initial investigations on the data using various summary statistics and graphical representations. This is exploratory data analysis! Or for short, EDA. EDA is used to catch any potential errors, assess statistical assumptions, observe patterns and help form initial hypotheses of your data that you can then test with statistics. For our penguins data, we want to start by exploring things like sample size, variation and distribution of our variables, and make initial comparisons among species, islands, and sex. A new Base R function we have yet to use is summary(). This functions gives us a very quick snapshot of each variable in our dataset, where we can see things like sample size and summary statistics. summary(penguins) ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g ## Adelie :152 Biscoe :168 Min. :32.10 Min. :13.10 Min. :172.0 Min. :2700 ## Chinstrap: 68 Dream :124 1st Qu.:39.23 1st Qu.:15.60 1st Qu.:190.0 1st Qu.:3550 ## Gentoo :124 Torgersen: 52 Median :44.45 Median :17.30 Median :197.0 Median :4050 ## Mean :43.92 Mean :17.15 Mean :200.9 Mean :4202 ## 3rd Qu.:48.50 3rd Qu.:18.70 3rd Qu.:213.0 3rd Qu.:4750 ## Max. :59.60 Max. :21.50 Max. :231.0 Max. :6300 ## NA's :2 NA's :2 NA's :2 NA's :2 ## sex year ## female:165 Min. :2007 ## male :168 1st Qu.:2007 ## NA's : 11 Median :2008 ## Mean :2008 ## 3rd Qu.:2009 ## Max. :2009 ## For some more in depth EDA, the tidyverse packages provide many useful functions to summarize and visualize data. Today we are going to simultaneously learn more about various functions of tidyverse packages while investigating and formulating hypotheses about our penguins data set. 4.1 Data wrangling 4.1.1 The dplyr package dplyr is a Tidyverse package to handle most of your data exploration and manipulation tasks. Now that you have learned indexing in the [Intro to R lesson][Introduction to R and RStudio], you may notice the first two dplyr functions we are going to learn, filter() and select() act as indexing functions, subsetting rows and columns based on specified names and/or conditions. Subset rows with filter() You can filter data in many ways using logical operators (>, >=, <, <=, != (not equal), and == (equal)), AND (&), OR (|), and NOT (!) operators, and other operations such as %in%, which returns everything that matches at least one of the values in a given vector, and is.na() and !is.na() to return all missing or all non-missing data. # filter rows for just the Adelie species filter(penguins, species == "Adelie") # filter rows for all species EXCEPT Adelie filter(penguins, species != "Adelie") # filter islands Dream and Torgersen AND rows that DO NOT have missing values for bill length filter(penguins, island %in% c("Dream", "Torgersen") & !is.na(bill_length_mm)) Note: Tidyverse package functions take in column names without quotations. Using dplyr functions will not manipulate the original data, so if you want to save the returned object you need to assign it to a new variable. body_mass_filtered <- filter(penguins, body_mass_g > 4750 | body_mass_g < 3550) Subset columns with select() select() has many helper functions you can use with it, such as starts_with(), ends_with(), contains() and many more that are very useful when dealing with large data sets. See ?select for more details # Select two specific variables select(penguins, species, sex) # Select a range of variables select(penguins, species:flipper_length_mm) # Rename columns within select select(penguins, genus = species, island) # Select column variables that have 'mm' in their name select(penguins, contains("mm")) Create new variables with mutate() mutate() allows you to edit existing columns or create new columns in an existing data frame, and you can perform calculations on existing columns to return outputs in the new column. The syntax is the name of the new column you want to make (or the current column you want to edit) on the left of =, and then to the right is what you want to put in the new column. Note that mutate() works row wise on the data frame. # New variable that calculates bill length in cm mutate(penguins, bill_length_cm = bill_length_mm/10) # mutate based on conditional statements with if_else() mutate(penguins, species_sex = if_else(sex == 'male', paste0(species,"_m"), paste0(species, "_f"))) if_else() reads as: IF the given argument (sex == 'male') is TRUE, put this: paste0(species,\"_m\") otherwise if FALSE put this: paste0(species, \"_f\") Notice the use of paste0() here, and when we briefly used a similar function paste() in the ‘Functions’ section of the Intro to R lesson. Explore the difference between these two. They are both very useful functions for creating new character strings. 4.1.1.1 The pipe %>% The pipe, %>%, comes from the magrittr package by Stefan Milton Bache. Packages in the tidyverse load %>% for you automatically, so you don’t usually load magrittr explicitly. Pipes are a powerful tool for clearly expressing a sequence of multiple operations. For example, the pipe operator can take this sequence of operations: df1 <- filter(penguins, island == "Dream") df2 <- mutate(df1, flipper_length_cm = flipper_length_mm/10) df3 <- select(df2, -flipper_length_mm) # keep everything BUT the flipper_length_mm column print(df3) And turn it into this, removing the need to create intermediate variables penguins %>% filter(island == "Dream") %>% mutate(flipper_length_cm = flipper_length_mm/10) %>% select(-flipper_length_cm) You can read it as a series of imperative statements: filter, then mutate, then select. A good way to pronounce %>% when reading code is “then”. It takes the output of the operation to the left of %>% and feeds it into the next function as the input. group_by() and summarise() All the above functions can all be used in conjunction with group_by(), which changes the scope of each function from operating on the entire data set to instead operate by specified groups. group_by() becomes even more powerful when used along with summarise() to calculate some specified summary statistic for each group. Say you want to summarize data by some specified group, for example you want to find the average body mass for each species, this is how you could do that: penguins %>% group_by(species) %>% summarise(body_mass_avg = mean(body_mass_g, na.rm = TRUE)) ## # A tibble: 3 × 2 ## species body_mass_avg ## <fct> <dbl> ## 1 Adelie 3701. ## 2 Chinstrap 3733. ## 3 Gentoo 5076. Notice the additional argument na.rm = TRUE within the mean() function. This is required for any mathamatical or statistical functions if you have ANY missing (NA) values in your dataset. What this does is remove those values from the calculation, otherwise mean() would just return NA without the na.rm = TRUE argument. The output now only has 3 rows, one for each unique group (i.e., species), and a new column with the calculated average body mass for each species. You can also group by multiple variables. Say you want to calculate the sample size (i.e., count, which can be calculated with the n() function) for each species for each year of the study: penguins %>% group_by(species, year) %>% summarise(n_observations = n()) ## # A tibble: 9 × 3 ## # Groups: species [3] ## species year n_observations ## <fct> <int> <int> ## 1 Adelie 2007 50 ## 2 Adelie 2008 50 ## 3 Adelie 2009 52 ## 4 Chinstrap 2007 26 ## 5 Chinstrap 2008 18 ## 6 Chinstrap 2009 24 ## 7 Gentoo 2007 34 ## 8 Gentoo 2008 46 ## 9 Gentoo 2009 44 You can even shorten the above operation by using a new function, count(), instead of summarise(): penguins %>% group_by(species, year) %>% count() 4.2 Exercises You must include the line(s) of code used to answer each question Why don’t the following lines of code work? Tweak each one so the code runs (3 pts.) penguins[1:5, ("species", "island")] penguins$flipper_lenght_mm penguins[island=='Dream',] Find the average flipper length for each species. Which species has the largest flippers? (2 pts.) Which is the only species that was sampled across all three islands in this study? You must use {dplyr} functions to answer this question (e.g., group_by() …) (2 pts.) Reorder the variables in penguins so that year is the first column followed by the rest (Hint: look into the use of everything()). (2 pts.) Create a new column called ‘size_group’ where individuals with body mass greater than the overall average are called ‘large’ and those smaller are called ‘small’. (Note: this answer requires the additional use of both the if_else() and mean() functions. Remember how to deal with NA values in mean()). (4 pts.) You want to filter data for years that are not in a vector of given years, but this code doesn’t work. Tweak it so that it does. (Yes, you could just filter year to equal 2007 in this case but there is a trouble-shooting lessons here). (2 pts.) penguins %>% filter(year !%in% c(2008, 2009)) 4.3 Visualization An important part of data exploration includes visualizing the data to reveal patterns you can’t necessarily see from viewing a data frame of numbers. Here we are going to walk through a very quick introduction to ggplot2, using some code examples from the palmerpenguins R package tutorial: https://allisonhorst.github.io/palmerpenguins/articles/intro.html. ggplot2 is perhaps the most popular data visualization package in the R language, and is also a part of the Tidyverse. One big difference about ggplot though is that it does not use the pipe %>% operator like we just learned, but instead threads together arguments with + signs (but you can pipe a data frame into the first ggplot() argument). The general structure for ggplots follows the template below. Note that you can also specify the aes() parameters within ggplot() instead of your geom function, which you may see a lot of people do. The mappings include arguments such as the x and y variables from your data you want to use for the plot. The geom function is the type of plot you want to make, such as geom_point(), geom_bar(), etc, there are a lot to choose from. # general structure of ggplot functions ggplot(data = <DATA>) + <GEOM_FUNCTION>(mapping = aes(<MAPPINGS>)) Visualize variable distributions with geom_historgram() If you plan on doing any statistical analysis on your data , one of the first things you are likely to do is explore the distribution of your variables. You can plot histograms with geom_histogram() ggplot(penguins) + geom_histogram(mapping = aes(x = flipper_length_mm)) This tells us there may be a lot of variation in flipper size among species. We can use the ‘fill =’ argument to color the bars by species, and scale_fill_manual() to specify the colors. # Histogram example: flipper length by species ggplot(penguins) + geom_histogram(aes(x = flipper_length_mm, fill = species), alpha = 0.5, position = "identity") + scale_fill_manual(values = c("darkorange","darkorchid","cyan4")) Cool, now we can see there seems to be some pretty clear variation in flipper size among species. Another way to visualize across groups is with facet_wrap(), which will create a separate plot for each group, in this case species. ggplot(penguins) + geom_histogram(aes(x = flipper_length_mm, fill = species), alpha = 0.5, position = "identity") + scale_fill_manual(values = c("darkorange","darkorchid","cyan4")) + facet_wrap(~species) Compare sample sizes with geom_bar() Let’s use ggplot to see sample size for each species on each island. ggplot(penguins) + geom_bar(mapping = aes(x = island, fill = species)) As you may have already noticed, the beauty about ggplot2 is there are a million ways you can customize your plots. This example builds on our simple bar plot: ggplot(penguins, aes(x = island, fill = species)) + geom_bar(alpha = 0.8) + scale_fill_manual(values = c("darkorange","purple","cyan4"), guide = FALSE) + theme_minimal() + facet_wrap(~species, ncol = 1) + coord_flip() This is important information, since we know now that not all species were sampled on every island, which will have complications for any comparisons we may want to make among islands. Visualize variable relationships with geom_point() We can use geom_point() to view the relationship between two continuous variables by specifying the x and y axes. Say we want to visualize the relationship between penguin body mass and flipper length and color the points by species: ggplot(penguins) + geom_point(mapping = aes(x = body_mass_g, y = flipper_length_mm, color = species)) 4.4 Exercises Please include the line(s) of code you used to create your figure and make sure the figure is shown in the rendered report. Using the visualization techniques you learned today, create a figure that allows you to visualize some comparison of your choice among the penguins data set. Below your figure write a testable hypothesis about the data and the patterns you see from this figure. (5 pts.) "],["data-visualization-in-r.html", " 5 Data Visualization in R 5.1 Publication Ready Figures with ggplot2 5.2 The Assignment", " 5 Data Visualization in R This lesson will go a little deeper into data visualization and how to customize figures and tables and make them ‘publication ready’. First, set up your session by executing your set up script we created in Lesson 1. Note: There are some new packages we will use below. For simplicity, you can add them to your setup.R script by tacking them on to the packages <- c() list. The new packages are: ggthemes RColorBrewer viridis ggdark plotly source("setup.R") 5.0.1 Data Preparation For today’s lesson we are going to be working with some census data for Larimer County, CO. This data can be found on Canvas in .csv format titled larimer_census.csv. Download that file and put it in a data/ folder in the your R Project. After that, read the .csv into your R session using read_csv(): census_data <- read_csv("data/larimer_census.csv") Inspect census_data and the structure of the data frame. This data contains information on median income, median age, and race and ethnicity for each census tract in Larimer County. Note: This census data for Larimer county was retrieved entirely in R using the tidycensus package. If you are interested in how I did this, I’ve uploaded the script to do so on Canvas titled ‘getCensusData.R’. Note that you will need to retrieve your own census API key and paste it at the top of the script to run it (API keys are free and easy to get here). To learn more about tidycensus, check out Analyzing U.S. Census Data by Kyle Walker. 5.1 Publication Ready Figures with ggplot2 For this exercise you will learn how to spruce up your ggplot2 figures with theme customization, annotation, color palettes, and more. To demonstrate some of these advanced visualization techniques, we will be analyzing the relationships among some census data for Larimer county. Let’s start with this basic plot: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(color = "black") And by the end of this lesson turn it into this: 5.1.1 General Appearance 5.1.1.1 Customize points within geom_point() color or size points by a variable or apply a specific color/number change the transparency with alpha (ranges from 0-1) #specific color and size value census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(color = "red", size = 4, alpha = 0.5) When sizing or coloring points by a variable in the dataset, it goes within aes(): # size by a variable census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(aes(size = median_income), color = "red") # color by a variable census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(aes(color = median_income), size = 4) 5.1.1.2 Titles and limits add title with ggtitle edit axis labels with xlab() and ylab() change axis limits with xlim() and ylim() census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black")+ ggtitle("Census Tract socioeconomic data for Larimer County")+ xlab("Median Age")+ ylab("People of Color (%)")+ xlim(c(20, 70))+ ylim(c(0, 35)) Be cautious of setting the axis limits however, as you notice it omits the full dataset which could lead to dangerous misinterpretations of the data. You can also put multiple label arguments within labs() like this: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black")+ labs( title = "Census Tract socioeconomic data for Larimer County", x = "Median Age", y = "People of Color (%)" ) + xlim(c(20, 70))+ ylim(c(0, 35)) 5.1.1.3 Chart components with theme() All ggplot2 components can be customized within the theme() function. The full list of editable components (there’s a lot!) can be found here. Note that the functions used within theme() depend on the type of components, such as element_text() for text, element_line() for lines, etc. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)") + theme( #edit plot title plot.title = element_text(size = 16, color = "blue"), # edit x axis title axis.title.x = element_text(face = "italic", color = "orange"), # edit y axis ticks axis.text.y = element_text(face = "bold"), # edit grid lines panel.grid.major = element_line(color = "black"), ) Another change you may want to make is the value breaks in the axis labels (i.e., what values are shown on the axis). To customize that for a continuous variable you can use scale_x_continuous() / scale_y_continuous (for discrete variables use scale_x_discrete ). In this example we will also add angle = to our axis text to angle the labels so they are not too jumbled: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)") + scale_x_continuous(breaks = seq(15, 90, 5))+ theme( # angle axis labels axis.text.x = element_text(angle = 45) ) While these edits aren’t necessarily pretty, we are just demonstrating how you would edit specific components of your charts. To edit overall aesthetics of your plots you can change the theme. 5.1.1.4 Themes ggplot2 comes with many built in theme options (see the complete list here). For example, see what theme_minimal() and theme_classic() look like: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ theme_minimal() census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ theme_classic() You can also import many different themes by installing certain packages. A popular one is ggthemes. A complete list of themes with this package can be seen here If you did not add this to your setup.R script yet, to run this example, first install the ggthemes package and then load it in to your session: Note: you should NOT include any install.packages() lines of code in your .Rmd when you try to knit, it will likely throw an error. Remember you only need to use install.packages() once. install.packages("ggthemes") library(ggthemes) Now explore a few themes, such as theme_wsj, which uses the Wall Street Journal theme, and theme_economist and theme_economist_white to use themes used by the Economist. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ ggthemes::theme_wsj()+ # make the text smaller theme(text = element_text(size = 8)) Note you may need to click ‘Zoom’ in the Plot window to view the figure better. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ ggthemes::theme_economist() Some themes may look messy out of the box, but you can apply any elements from theme() afterwards to clean it up. For example, change the legend position: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ ggthemes::theme_economist()+ theme( legend.position = "bottom" ) 5.1.2 Color, Size and Legends 5.1.2.1 Color To specify a single color, the most common way is to specify the name (e.g., \"red\") or the Hex code (e.g., \"#69b3a2\"). You can also specify an entire color palette. Some of the most common packages to work with color palettes in R are RColorBrewer and viridis. Viridis is designed to be color-blind friendly, and RColorBrewer has a web application where you can explore your data requirements and preview various palettes. First, if you want to run these examples install and load the RColorBrewer and viridis packages: install.packages("RColorBrewer") install.packages("viridis") library(RColorBrewer) library(viridis) Now, lets color our points using the palettes in viridis. To customize continuous color scales with viridis we use scale_color_viridis(). census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ viridis::scale_colour_viridis() Second, let’s see how to do that with an RColorBrewer palette, using the ‘Greens’ palette and scale_color_distiller() function. We add direction = 1 to make it so that darker green is associated with higher values for income. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "Greens", direction = 1) 5.1.2.2 Size You can edit the range of the point radius with scale_radius : census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "Greens", direction = 1)+ scale_radius(range = c(0.5, 6)) 5.1.2.3 Legends In the previous plots we notice that two separate legends are created for size and color. To create one legend where the circles are colored, we use guides() like this, specifying the same title for color and size: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "BuGn", direction = 1)+ scale_radius(range = c(2, 6))+ theme_minimal()+ #customize legend guides(color= guide_legend(title = "Median Income"), size=guide_legend(title = "Median Income")) 5.1.3 Annotation Annotation is the process of adding text, or ‘notes’ to your charts. Say we wanted to highlight some details to specific points in our data, for example some of the outliers. When investigating the outlying point with the highest median age and high percentage of people of color, it turns out that census tract includes Rocky Mountain National Park and the surrounding area, and also the total population of that tract is only 53. Lets add these details to our chart with annotate(). This function requires several arguments: geom: type of annotation, most often text x: position on the x axis to put the annotation y: position on the y axis to put the annotation label: what you want the annotation to say Optional: color, size, angle, and more. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "BuGn", direction = 1)+ scale_radius(range = c(2, 6))+ theme_minimal()+ guides(color= guide_legend(title = "Median Income"), size=guide_legend(title = "Median Income"))+ # add annotation annotate(geom = "text", x=76, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53") We can also add an arrow to point at the data point the annotation is referring to with geom_curve and a few other arguments like so: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)") + scale_color_distiller(palette = "BuGn", direction = 1) + scale_radius(range = c(2, 6)) + theme_minimal() + guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + annotate(geom = "text", x = 74, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53") + # add arrow geom_curve( aes( x = 82, xend = 88, y = 60, yend = 57.5 ), arrow = arrow(length = unit(0.2, "cm")), size = 0.5, curvature = -0.3 ) Note that with annotations you may need to mess around with the x and y positions to get it just right. Also, the preview you see in the ‘plot’ window may look jumbled and viewing it by clicking ‘Zoom’ can help. 5.1.4 Finalize and save We are almost done with this figure. I am going to add/change a few more elements below. Feel free to add your own! census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income), alpha = 0.9) + labs( title = "Socioeconomic data for Larimer County", subtitle = "Median age, median income, and percentage of people of color for each census tract", x = "Median Age", y = "People of Color (%)", caption = "Data obtained from the U.S. Census 5-year American Community Survey Samples for 2017-2021" )+ scale_radius(range = c(2, 6)) + theme_classic() + scale_color_viridis() + #use the Viridis palette guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + theme( axis.title = element_text(face = "bold", size = 10), plot.title = element_text(face = "bold",size = 15, margin = unit(c(1,1,1,1), "cm")), plot.subtitle = element_text(size = 10, margin = unit(c(-0.5,0.5,0.5,0.5), "cm")), plot.caption = element_text(face = "italic", hjust = -0.2), plot.title.position = "plot", #sets the title to the left legend.position = "bottom", legend.text = element_text(size = 8) ) + annotate(geom = "text", x = 74, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53", size = 3, color = "black") + geom_curve( aes( x = 82, xend = 88, y = 60, yend = 57.5 ), arrow = arrow(length = unit(0.2, "cm")), size = 0.5, color = "black", curvature = -0.3 ) Want to make it dark theme? ggdark is a fun package to easily convert your figures to various dark themes. If you want to test it out, install the package and try dark_theme_classic() instead of theme_classic() in the previous figure: install.packages("ggdark") library(ggdark) census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income), alpha = 0.9) + labs( title = "Socioeconomic data for Larimer County", subtitle = "Median age, median income, and percentage of people of color for each census tract", x = "Median Age", y = "People of Color (%)", caption = "Data obtained from the U.S. Census 5-year American Community Survey Samples for 2017-2021" )+ scale_radius(range = c(2, 6)) + dark_theme_classic() + scale_color_viridis() + #use the Viridis palette guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + theme( axis.title = element_text(face = "bold", size = 10), plot.title = element_text(face = "bold",size = 15, margin = unit(c(1,1,1,1), "cm")), plot.subtitle = element_text(size = 10, margin = unit(c(-0.5,0.5,0.5,0.5), "cm")), plot.caption = element_text(face = "italic", hjust = -0.2), plot.title.position = "plot", #sets the title to the left legend.position = "bottom", legend.text = element_text(size = 8) ) + annotate(geom = "text", x = 74, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53", size = 3) + geom_curve( aes( x = 82, xend = 88, y = 60, yend = 57.5 ), arrow = arrow(length = unit(0.2, "cm")), size = 0.5, curvature = -0.3 ) Saving with ggsave You can save your plot in the “Plots” pane by clicking “Export”, or you can also do it programmatically with ggsave(), which also lets you customize the output file a little more. Note that you can give the argument a variable name of a ggplot object, or by default it will save the last plot in the “Plots” pane. #specify the file path and name, and height/width (if necessary) ggsave(filename = "data/census_plot.png", width = 6, height = 5, units = "in") 5.1.4.1 Want to make it interactive? The plotly package and the ggplotly() function lets you make your charts interactive. install.packages("plotly") library(plotly) We can put our entire ggplot code above inside ggplotly() below to make it interactive: ggplotly(census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income), alpha = 0.9) + labs( title = "Socioeconomic data for Larimer County", subtitle = "Median age, median income, and percentage of people of color for each census tract", x = "Median Age", y = "People of Color (%)", caption = "Data obtained from the U.S. Census 5-year American Community Survey Samples for 2017-2021" )+ scale_radius(range = c(2, 6)) + #dark_theme_classic() + scale_color_viridis() + #use the Viridis palette guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + theme( axis.title = element_text(face = "bold", size = 10), plot.title = element_text(face = "bold",size = 15, margin = unit(c(1,1,1,1), "cm")), plot.subtitle = element_text(size = 10, margin = unit(c(-0.5,0.5,0.5,0.5), "cm")), plot.caption = element_text(face = "italic", hjust = -0.2), plot.title.position = "plot", #sets the title to the left legend.position = "bottom", legend.text = element_text(size = 8) )) Note that we removed the annotations as plotly doesn’t yet support them. 5.2 The Assignment This week’s assignment is to use anything you’ve learned today, in previous lessons and additional resources (if you want) to make two plots. One ‘good plot’ and one ‘bad plot’. Essentially you will first make a good plot, and then break all the rules of data viz and ruin it. For the bad plot you must specify two things that are wrong with it (e.g., it is not color-blind friendly, jumbled labels, wrong plot for the job, poor legend or axis descriptions, etc.) Be as ‘poorly’ creative as you want! Check out this thread by Dr. Nyssa Silbiger and this thread by Dr. Drew Steen for some bad plot examples, which were both the inspiration for this assignment. You can create these plots with any data (e.g., the census data from today, the penguins data past lessons, or new ones!), the good (and bad) visualization just has to be something we have not made in class before. To submit the assignment, create an R Markdown document that includes reading in of the data and libraries, and the code to make the good figure and the bad figure. You will render your assignment to Word or HTML (and make sure both code and plots are shown in the output), and don’t forget to add the two reasons (minimum) your bad figure is ‘bad’. You will then submit this rendered document on Canvas. (20 pts. total) Note: the class will vote on the worst bad plot and the winners will receive extra credit! First place will receive 5 points, second place 3 points and third place 1 point of extra credit. 5.2.1 Acknowledgements and Resources The ggplot2 content in this lesson was created with the help of Advanced data visualization with R and ggplot2 by Yan Holtz. For more information on working with census data in R check out Analyzing US Census Data by Kyle Walker (which includes a visualization chapter). "],["data-analysis-t-test-and-anova.html", " 6 Data Analysis: T-test and ANOVA 6.1 Explore the dataset 6.2 t-test - Compare two means 6.3 ANOVA test - compare more than two means 6.4 Exercises", " 6 Data Analysis: T-test and ANOVA In this lesson you will be introduced to the process of conducting statistical tests in R, specifically t-tests and ANOVA tests for working with categorical predictor variables. Need a refresher on stats fundamentals? We highly suggest watching this 20-minute video that goes over hypothesis testing, defining significance/p-values, and common statistical testing assumptions. To access the dataset(s) you will be using in this lesson, we will be using a new data package called {lterdatasampler}. This package contains subsets of data from various Long Term Ecological Research (LTER) sites, designed for use in R teaching and training activities. We we also need the {rstatix} package, which allows us to conduct various statistical tests that are ‘tidyverse’ friendly (aka, we can use them with the pipe %>%). So since these are new packages, we need to install them first: install.packages("lterdatasampler") install.packages("rstatix") Now load in the three libraries/packages needed for this lesson (OR, add lterdatasampler and car to your ‘setup.R’ script if you have been setting up your environment that way). library(tidyverse) library(lterdatasampler) library(rstatix) 6.1 Explore the dataset We will be using the and_vertebrates dataset for this lesson. Do a little exploration of this data first to understand its structure, variables and data types: # View the data structure glimpse(and_vertebrates) # Explore the metadata in the Help pane ?and_vertebrates This data set contains length and weight observations for three aquatic species in clear cut and old growth coniferous forest sections of Mack Creek in HJ Andrews Experimental Forest in Oregon. The three species are Cutthroat trout, Coastal giant salamander and Cascade torrent salamander. 6.2 t-test - Compare two means Previous work has shown that forest harvesting can impact aquatic vertebrate biomass (Kaylor & Warren 2017). With this and_vertebrates data set we can investigate this hypothesis, by comparing weight to forest type (clear cut or old growth). This therefore involves a test comparing the means (average weight) among two groups (clear cut and old growth forests), which then requires a t-test. Lets focus on conducting this test for just Cutthroat trout to reduce species-level variances in weight. Before conducting analyses, we need to clean our dataset. The steps below will filter our data to just include the trout species, and remove any NA values of weight with the drop_na() function: #create a new variable for downstream analysis trout_clean <- and_vertebrates %>% #filter species (remember spelling and capitalization are IMPORTANT) filter(species == "Cutthroat trout") %>% # remove NA values for weight drop_na(weight_g) Before conducting any analsys, we may want to visualize the relationship between forest type and weight, which we can do with a boxplot given we have a categorical predicator variable (forest type, aka section) and a continuous response variable (weight_g). trout_clean %>% ggplot(aes(x = section, y = weight_g)) + geom_boxplot() We don’t see too much of a difference based on this visual, but lets conduct the statistical test to verify if our hypothesis is supported. 6.2.1 Assumptions First however we need to check our test assumptions, which for t-tests assumes the variance of the groups is equal. We can test for equal variances with the function levene_test(), which performs a Levene’s test for homogeneity of variance across groups where the null hypothesis is that the variances are equal. In this function we specify the continuous, dependent variable (weight_g) and the predictor variable we want to test for variances between groups (section). We write this as a formula using ~ , which reads ’test is weight varies by forest section`. trout_clean %>% levene_test(weight_g ~ section) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 1 12592 42.5 7.28e-11 Looks like our variances are not equal, since the null hypothesis of the variance test is that they are equal and we have a (very) significant p-value. We have two options now, 1) we can transform our weight variable or 2) use the non-parametric Welch t-test which does not assume equal variances. 6.2.1.1 Variable transformation If we look at the distribution of weight (our continuous variable), it is pretty right skewed. Therefore, we’d likely want to do a log transformation on the data, which works well the data is skewed like this: hist(trout_clean$weight_g) Lets perform the variances check like we did before, but on the log transformed values, which you can do with log() , and we can nest the functions so we only use one line of code like this: trout_clean %>% levene_test(log(weight_g) ~ section) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 1 12592 0.468 0.494 Now we have a high, insignificant p-value, indicating support for the null that the variances are equal. So. we can use the default t_test() test which assumes equal variances, but on a log transformed weight variable. For the t_test() function, it needs column names and we cannot nest a column name within a function like log(). Therefore we will need to use mutate() to create a new column for our log transformed weight variable. The order of the variables in the t_test() function is {dependent variable} ~ {independent variable}. We use the ~ to specify a model/formula, similar to that of the levene_test(), telling the test we want to know if weight varies by forest section. We also set var.equal = TRUE to specify we know our groups have equal variances and detailed=TRUE to return the detailed results including group means (aka estimates). trout_clean %>% mutate(weight_log = log(weight_g)) %>% t_test(weight_log ~ section, var.equal = TRUE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 0.131 1.52 1.39 weight_log CC OG 6798 5796 5.49 4.06e-8 12592 0.0839 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> The output of this test gives us the test statistics, p-value, and the means for each of our forest groups (estimate1 and estimate2, corresponding to group1 and group2). Given the extremely small p-value and the means of each group, we can conclude that Cutthroat trout weight was observed to be significantly higher in clear cut forests compared to old growth forests. Remember though that now these mean weight values are log transformed, and not the raw weight in grams. The relationship can still be interpreted the same. How does this relate to our original hypothesis? Welch Two Sample t-test Alternatively, instead of transforming our variable we can actually change the default t_test() argument by specifying var.equal = FALSE, which will then conduct a Welch t-test, which does not assume equal variances among groups. trout_clean %>% t_test(weight_g ~ section, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 1.17 9.38 8.21 weight_g CC OG 6798 5796 6.69 2.26e-11 12588. 0.825 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> While we used a slightly different method, our conclusions are still the same, finding that Cutthroat trout had significantly higher weights in clear cut forests than old growth. 6.3 ANOVA test - compare more than two means We found a significant difference in weight among forest types, but how about channel types? The unittype variable is categorical like section was, but here we have more than two categories. With more than two categories we use an ANOVA test instead of a t-test to assess significant differences in some continuous variable among groups. Since we found significant size differences between forest types, for the next analysis let’s just compare weight among channel types for one type of forest section to remove effects of forest type. Let’s look at clear-cut forests where trout were found to be significantly larger: # create a new variable to use for downstream analysis trout_cc <- trout_clean %>% filter(section == "CC") Now lets first look at the distribution of trout samples among different channel types in our new filtered dataset: trout_cc %>% group_by(unittype) %>% count() ## # A tibble: 6 × 2 ## # Groups: unittype [6] ## unittype n ## <chr> <int> ## 1 C 3911 ## 2 P 1400 ## 3 R 97 ## 4 S 7 ## 5 SC 1000 ## 6 <NA> 383 We see there are quite a few samples with missing information for channel type. Also, there are some groups that have relatively low sample size. For the sake of this lesson, lets just keep the three most abundant channel types, i.e. C (cascade), P (pool), and SC (side channel). # override our trout_cc variale with our groups of interest trout_cc <- trout_cc %>% # note this line of code is the same as doing filter(!is.na(unittype)) drop_na(unittype) %>% filter(unittype %in% c("C", "P", "SC")) 6.3.1 Assumptions Normality ANOVA assumes normal distributions within each group. Here our group sample sizes are >30 each which can be considered as large enough to not worry about this assumption. In fact the Shapiro-Wilk test won’t even operate if your group sizes are greater than 5,000. But, we can use the shapiro_test() function along with group_by() to test for normality within each channel group. trout_cc %>% group_by(unittype) %>% shapiro_test(weight_g) ## # A tibble: 3 × 4 ## unittype variable statistic p ## <chr> <chr> <dbl> <dbl> ## 1 C weight_g 0.794 3.48e-57 ## 2 P weight_g 0.847 1.01e-34 ## 3 SC weight_g 0.632 8.64e-42 Since the null hypothesis of the Shapiro-Wilk test is that the data is normally distributed, these results tell us all groups do not fit a normal distribution for weight. Equal Variances To test for equal variances among more than two groups, it is easiest to use a Levene’s Test like we did earlier: trout_cc %>% levene_test(weight_g ~ unittype) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 2 6308 126. 3.19e-54 Given this small we see that the variances of our groups are not equal. Therefore, after checking out assumptions we need to perform a non-parametric ANOVA test, the Kruskal-Wallis test. We can do this with the kruskal_test() function specifying a formula like we have for previous tests to see if weight varies by channel (aka unittype). trout_cc %>% kruskal_test(weight_g ~ unittype) ## # A tibble: 1 × 6 ## .y. n statistic df p method ## * <chr> <int> <dbl> <int> <dbl> <chr> ## 1 weight_g 6311 542. 2 2.05e-118 Kruskal-Wallis Our results here are highly significant, meaning that at least one of our groups means is significantly different from the others. Let’s visualize the spread of weight among each group, looking at group summaries with a geom_boxplot() and group weight distributions with geom_histogram() and facet_wrap() trout_cc %>% ggplot(aes(x = unittype, y = weight_g, color = unittype)) + geom_boxplot() trout_cc %>% # since we are making a histogram only need an 'x' variable ggplot(aes(x = weight_g)) + geom_histogram() + # separate plot by unittype facet_wrap(~unittype, ncol = 1) 6.3.1.1 Post-Hoc Analysis Now ANOVAs don’t tell us which groups are significantly different, for that we would need to use a post-hoc test. Since we used the non-parametric Kruskal-Wallace test, we can use the associated Dunn’s test for multiple comparisons to assess significant differences among each pair of groups. Note, if your data fits the ANOVA assumptions you would use the anova_test() function instead, and tukey_hsd() as the associated post-hoc test. trout_cc %>% dunn_test(weight_g ~ unittype) ## # A tibble: 3 × 9 ## .y. group1 group2 n1 n2 statistic p p.adj p.adj.signif ## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <chr> ## 1 weight_g C P 3911 1400 15.2 5.05e- 52 1.01e- 51 **** ## 2 weight_g C SC 3911 1000 -13.7 1.83e- 42 1.83e- 42 **** ## 3 weight_g P SC 1400 1000 -23.1 4.18e-118 1.25e-117 **** This result shows us an adjusted p-value (for multiple comparisons) for each combination of groups, where a significant value represents a significant difference in weight between those two channel types. Our results here show that all channel types are significantly different in trout weight. 6.4 Exercises Each question requires you to carry out a statistical analysis to test some hypothesis related to the and_vertebrates data set. To answer each question fully: Include the code you used to clean the data and conduct the appropriate statistical test. (Including the steps to assess and address your statistical test assumptions). Report the findings of your test. Include an appropriate figure showing the patterns in the data associated with the test. 1. Conduct a t-test similar to the one we carried out earlier in this lesson plan, but test for a difference in snout-vent length (length_1_mm) between forest types (section) for the Coastal giant salamander. (10 pts.) 2. Conduct an ANOVA test to test for differences in snout-vent length between channel types (unittype, only using C, P and SC channel types) for the Coastal Giant salamander. Remember to check your test assumptions and use the appropriate test based on your findings. You must also conduct the associated post-hoc test and report which groups are significantly difference from each other (if any) (10 pts.) 6.4.1 Acknowledgements Thanks to the developers of lterdatasampler for providing the data set and vignettes that helped guide the creation of this lesson plan. 6.4.2 Citations Data Source: Gregory, S.V. and I. Arismendi. 2020. Aquatic Vertebrate Population Study in Mack Creek, Andrews Experimental Forest, 1987 to present ver 14. Environmental Data Initiative. https://doi.org/10.6073/pasta/7c78d662e847cdbe33584add8f809165 Kaylor, M.J. and D.R. Warren. 2017. Linking riparian shade and the legacies of forest management to fish and vertebrate biomass in forested streams. Ecosphere 8(6). https://doi.org/10.1002/ecs2.1845 "],["correlation-and-simple-linear-regression.html", " 7 Correlation and Simple Linear Regression 7.1 Correlation with salamanders 7.2 Simple linear regression with crabs 7.3 Exercises 7.4 Citations", " 7 Correlation and Simple Linear Regression Before running the set up script, if you have not already, add the \"lubridate\" package to your packages list in the setup.R script. source("setup.R") 7.1 Correlation with salamanders Correlation measures the strength and direction of a relationship between two continuous variables. The key result of a correlation test, the correlation coefficient (r), ranges from -1 to +1, with 0 indicating no linear relationship, -1 a perfect negative relationship and 1 indicating a perfect positive relationship. We will use the and_vertebrates data set to demonstrate the correlation test; we can test our length and weight continuous variables to see if “long” salamanders also weigh more. First, we’ll need to clean our data set to just include salamanders, and remove missing values for length and weight. Let’s focus on the variable length_2_mm for snout-to-tail length. data("and_vertebrates") sal <- and_vertebrates %>% # find observations that contain the string "salamander" in the species column: filter(grepl("salamander", species)) %>% drop_na(length_2_mm, weight_g) 7.1.0.1 EDA Before diving in, let’s visually explore the relationship between our two variables with a scatter plot: ggplot(data = sal) + geom_point(aes(x = length_2_mm, y = weight_g), color = "black") + theme_bw() From our plot, we see that there is indeed a pretty visible relationship between a salamander’s weight and length. In other words, a salamander’s weight and length seem to be positively correlated: as length increases, weight also increases, and vice versa. 7.1.0.1.1 Parametric vs. non-parameteric correlation tests Whether we use a parametric or non-parametric correlation test depends on 1) whether our two variables exhibit a visually linear relationship and 2) whether they follow normal distributions. Looking at our plot above, we can see that their relationship does not appear linear. Let’s also check what the distributions of our variables look like: hist(sal$length_2_mm) # slightly skewed.. hist(sal$weight_g) # def non normal distribution They both look pretty skewed, therefore likely not normally distributed. We can statistically test if a variable fits a normal distribution with the shapiro.test() function. However, this function only runs for 5000 observations or less. Therefore, we will need to test for normality on a random subset of our full data set: sal_sub <- sal %>% slice_sample(n = 5000) shapiro.test(sal_sub$length_2_mm) ## ## Shapiro-Wilk normality test ## ## data: sal_sub$length_2_mm ## W = 0.93331, p-value < 2.2e-16 shapiro.test(sal_sub$weight_g) ## ## Shapiro-Wilk normality test ## ## data: sal_sub$weight_g ## W = 0.56817, p-value < 2.2e-16 The null hypothesis of the Shapiro-Wilk normality test is that the variable is normally distributed, so a p-value less than 0.05, at 95% confidence (as we see for both of our variables here) tells use that our data does not fit a normal distribution. Therefore we have two options as we did with our t-test example in the previous lesson: transform the variables and see if that helps, or use a non-parametric test. Here, we will go ahead with the non-parametric Spearman correlation test. When two continuous variables are normally distributed and appear to have a linear relationship, one should use the Pearson correlation test. 7.1.0.2 Correlation test in R In R, we can perform this correlation test using the {rstatix}’s cor_test() function: cor_test(sal, vars = c(length_2_mm, weight_g), # vector of continuous vars we want to test alternative = "two.sided", # we want to test both positive and negative corr. method = "spearman") # spearman is for non-parametric corr. method ## # A tibble: 1 × 6 ## var1 var2 cor statistic p method ## <chr> <chr> <dbl> <dbl> <dbl> <chr> ## 1 length_2_mm weight_g 0.98 820565131. 0 Spearman cor is the correlation coefficient, r. In this example it is positive, indicating that there is a positive correlation between weight and length. Remember that r can only range from -1 to +1. So, a value of 0.98 indicates a very strong relationship. statistic is the test statistic (t) which is calculated using r and the number of observations in the test. p is the p-value. Here, it is calculated using the confidence level and the test statistic. 7.1.0.3 Correlation limitations Using a correlation test, we identified that a salamander’s weight and its length have a positive relationship. But, our conclusions have to stop there: all we can deduce from a correlation test is whether or not a relationship exists. There is no information about which one leads to the other (i.e., causality), and there is no information about how we might be able to predict one from the other. 7.2 Simple linear regression with crabs In the summer of 2016, researchers surveyed fiddler crabs for their size across the Atlantic coast - from Florida to Massachusetts. Additional information about where the crabs lived (including coordinates, air, and water temperature) was also provided. Because we have size data across multiple climates, this study provides an excellent data set to test Bergmann’s rule. With this data set, we can broadly assume that the further north we go, the colder the climate. Therefore, let’s use latitude as our variable to represent “coldness”, with an increase in latitude representing cooler climate conditions, to explore the relationship between crab size and climate. Taking correlation a step further, simple linear regression allows us to describe the relationship between two continuous, linearly-related variables. This description comes in the form of an equation that produces a line of best fit through our variables plotted against each other. Using that line, we can then predict a new crab’s size based on its location, and vice versa. But first we must define which variable leads to the other’s change, something we didn’t really need to think about for correlation. Based on Bergmann’s rule, we know that the cooler climate leads to increased size, so our explanatory variable (x) will be latitude, and our response variable (y) will be crab size. There are a few ways to describe this relationship between latitude and size in the statistics lexicon: X Variable (Crab Latitude) Y Variable (Crab Size) Cause (what changes) Effect (outcome of that change) Independent Dependent Predictor Outcome Explanatory Response Load in the crab data from the lterdatasampler package: data("pie_crab") Let’s first visualize latitude vs. size with some histograms and a scatter plot. hist(pie_crab$latitude) hist(pie_crab$size) It is clear that crab data was surveyed at only a finite number of locations, which leads to a non-normal distribution. But that’s okay - linear regression does NOT require the variables to be normally distributed. However, the error of the data must be normally distributed around the linear line (more on error later). When plotting, it is important to have the predictor variable on the x-axis, and the response variable on the y-axis. Then, we can fit a linear regression line through this data so that the distance between the line and the most observations is at its lowest: ggplot(data = pie_crab, aes(x = latitude, y = size)) + geom_point(color = "black") + geom_smooth(method = "lm", se = FALSE) + theme_bw() Each observation’s vertical distance away from the line is the observation’s error. Getting the standard deviation of these distances gives us the line’s residual standard error. The intercept of this line, or the value of the line if we extended it out to meet the y-axis (i.e., where our crab size is zero), is also known as the line’s constant. Lastly, we have our slope of the line. This tells us how much a crab’s average size increases if we increase the latitude, and vice versa. When we put all of these pieces together, we get the following simple linear regression equation for each observation: size = slope of the line * latitude + constant + point’s distance from line … which we write statistically as: \\(y = (β1 * x) + β0 + ε\\) In this equation, y is a our response variable (crab’s size), β0 is the constant, β1 is the slope, x is our explanatory variable (the crab’s latitude), and ε is the distance between the line and each observation’s true size. 7.2.0.1 Simple linear regression in R In R, we can identify the values that go into delineating this line of best fit using the base R {stats} package’s lm() function (lm for linear model): # Simple linear regression model slr_model <- lm(size ~ latitude, data = pie_crab) # lm(response ~ predictor, data = dataset) summary(slr_model) ## ## Call: ## lm(formula = size ~ latitude, data = pie_crab) ## ## Residuals: ## Min 1Q Median 3Q Max ## -7.8376 -1.8797 0.1144 1.9484 6.9280 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -3.62442 1.27405 -2.845 0.00468 ** ## latitude 0.48512 0.03359 14.441 < 2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.832 on 390 degrees of freedom ## Multiple R-squared: 0.3484, Adjusted R-squared: 0.3467 ## F-statistic: 208.5 on 1 and 390 DF, p-value: < 2.2e-16 … where -3.62442 is our line’s intercept (β0), 0.48512 is our line’s slope (β1): \\(y = 0.48512x - 3.62442\\) In the model’s summary, our p-value is indicated in the Pr(>|t|) column for latitude: because our p-value is well below 0.05, we can deduce that latitude has a significant effect on crab size. Therefore, fiddler crabs appear to follow Bergmann’s rule: on average, crab size increased by 0.49 mm for every degree in latitude. 7.2.0.2 Predicting crab size With this linear equation, we can now predict crab size at different latitudes using the base R predict() function. Let’s predict crab size for latitudes of 32, 36, and 38 degrees. Note that we need to create these values as a new data frame with the same column name used in the data that the model was built off of (i.e., latitude): new_lat <- tibble(latitude = c(32, 36, 38)) predict(slr_model, newdata = new_lat) ## 1 2 3 ## 11.89939 13.83987 14.81010 7.3 Exercises For this week’s exercise, we will be using the ntl_airtemp and ntl_icecover data sets to explore the relationship between mean annual lake ice duration and mean winter air temperature at two nearby lakes in Wisconsin. ntl_airtemp contains daily estimates of the air temperature near the two lakes. ntl_icecover contains the duration of ice cover per year, per lake. data("ntl_airtemp") data("ntl_icecover") First, let’s get the average lake ice duration across years: avg_icecover <- ntl_icecover %>% # mutate within group by, and create a new variable for the WATER year (Oct - Sept). Water year is the FUTURE year so we do year + 1 group_by(wyear = year + 1) %>% summarize(mean_duration = mean(ice_duration, na.rm = TRUE)) Next, we will need to compute the mean winter (November-April) air temperature per water year to align with the data in avg_icecover. A water year is a 12-month period starting in October and ending in September, aligning with the winter season and thereby not splitting up the winter. Let’s first define each date’s water year using an if_else() statement and the month() function from the {lubridate} package: ntl_airtemp_wyear <- ntl_airtemp %>% mutate(wyear = if_else(month(sampledate) < 10, year, year+1)) Next, using ntl_airtemp_wyear, we can compute the average air temperature for the winter season per water year. ntl_winter_airtemp <- ntl_airtemp_wyear %>% filter(lubridate::month(sampledate) %in% c(11, 12, 1:4)) %>% # filter the months from Nov to April group_by(wyear) %>% summarize(mean_air_temp = mean(ave_air_temp_adjusted)) 1. Join your table of (water-)yearly average winter temperatures to our avg_icecover object. Save this new table as icecover_temp. (HINT: use a join() function to do this.) (3 pts.) 2. Visualize the data by plotting our variables against one another, and using histograms. Is their relationship linear? Are our variables normally distributed? (3 pts.) 3. Perform a correlation test on icecover_temp to see whether there is a significant relationship between mean ice duration and mean air temperature. If so, is the relationship positive or negative? What is the correlation coefficient? (4 pts.) 4. Develop a simple linear model to then predict the mean ice duration when mean winter temperatures are -2 degrees, 0 degrees, and 2 degrees. (4 pts.) 5. Plot the average air temperature against the average ice cover duration. Include our simple linear regression (i.e., the line of best fit) in the plot. (3 pts.) 6. What is the slope, intercept, and residual standard error of our simple linear regression? (3 pts.) 7.4 Citations Data Source: Anderson, L. and D. Robertson. 2020. Madison Wisconsin Daily Meteorological Data 1869 - current ver 32. Environmental Data Initiative. https://doi.org/10.6073/pasta/e3ff85971d817e9898bb8a83fb4c3a8b (Accessed 2021-03-08). Data Source: Johnson, D. 2019. Fiddler crab body size in salt marshes from Florida to Massachusetts, USA at PIE and VCR LTER and NOAA NERR sites during summer 2016. ver 1. Environmental Data Initiative. https://doi.org/10.6073/pasta/4c27d2e778d3325d3830a5142e3839bb (Accessed 2021-05-27). Data Source: Magnuson, J.J., S.R. Carpenter, and E.H. Stanley. 2021. North Temperate Lakes LTER: Ice Duration - Madison Lakes Area 1853 - current ver 35. Environmental Data Initiative. https://doi.org/10.6073/pasta/ab31f2489ee436beb73fc8f1d0213d97 (Accessed 2021-03-08). Magnuson, J.J. 2021. Seeing the invisible present and place: from years to centuries with lake ice from Wisconsin to the Northern Hemisphere. Chapter 9 (243- 277) in R. B. Waide and S. E. Kingsland [eds]. The Challenges of Long Term Ecological Research: A Historical Analysis. Springer, Archimedes Series #59. https://doi.org/10.1007/978-3-030-66933-1_9 (Accessed 2022-02-14). "],["multiple-linear-regression-mlr.html", " 8 Multiple Linear Regression (MLR) 8.1 MLR in R 8.2 Exercises 8.3 Citations", " 8 Multiple Linear Regression (MLR) Set up our session. At minimum, make sure you have tidyverse and lterdatasampler in your “setup.R” script. source("setup.R") Multiple linear regression is the most common form of linear regression analysis. As a predictive analysis, multiple linear regression is used to explain the relationship between one continuous dependent variable (or, the response variable) and two or more independent variables (or, the predictor variables). The independent variables can be continuous OR categorical. Unlike a simple linear regression, where we describe the relationship between X and Y (two dimensional) and can simply plot them against each other, we are now working with multiple X’s and Y - which is three-dimensional. Here we are using the pie_crab data set again to develop a multiple linear regression model to predict crab size with additional variables from the data set, latitude, air_temp, and water_temp. Let’s first plot each of our predictor variables’ linear relationship with our response variable, crab size: data(pie_crab) pie_crab_long <- pie_crab %>% select(size, latitude, air_temp, water_temp) %>% # select all but "size" to pivot_longer(cols = -size) ggplot(data = pie_crab_long, aes(x = size, y = value)) + geom_point(color = "black") + geom_smooth(method = "lm", se = FALSE) + facet_wrap(~name, scales = "free_y") + theme_bw() A multiple linear regression, at the location of each observation, incorporates each of our three variable’s simple linear relationships with crab size using the following equation: \\(y = β0 + (β1 * x1) + (β2 * x2) + (β3 * x3) + ε\\) In this equation, y is a our response variable, crab size, while each x represents one of our predictor variables. β0 represents the intercept; we can think of this as the value of y if all of our x’s were zero. Each β is called a partial regression coefficient; this is because we can think of each as the slope in the x’s dimension if all of our other x’s were held constant. Lastly, ε is the distance between our observation, and what our model predicts for it (i.e., observed - predicted). 8.1 MLR in R Running a multiple linear regression is very similar to the simple linear regression, but now we specify our multiple predictor variables by adding them together with a + sign (the order of our predictor variables does not matter). Here we are using the pie_crab data set again to develop a multiple linear regression model with additional variables from the data set: data(pie_crab) mlr_model <- lm(size ~ latitude + air_temp + water_temp, data = pie_crab) summary(mlr_model) ## ## Call: ## lm(formula = size ~ latitude + air_temp + water_temp, data = pie_crab) ## ## Residuals: ## Min 1Q Median 3Q Max ## -8.7099 -1.7195 -0.0602 1.7823 7.7271 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 77.7460 17.3477 4.482 9.76e-06 *** ## latitude -1.0587 0.3174 -3.336 0.000933 *** ## air_temp -2.4041 0.3844 -6.255 1.05e-09 *** ## water_temp 0.7563 0.1465 5.162 3.92e-07 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.677 on 388 degrees of freedom ## Multiple R-squared: 0.4206, Adjusted R-squared: 0.4161 ## F-statistic: 93.9 on 3 and 388 DF, p-value: < 2.2e-16 … where: 77.7460 is our line’s intercept (β0) -1.0587 is the slope in the latitude dimension, or the estimated change in crab size for a unit change in latitude among crabs living with the same air temperature and water temperature conditions. -2.4041 is the slope in the air temperature dimension, or the estimated change in crab size for a unit change in air temperature among crabs living with the same water temperature and latitude conditions. 0.7563 is the slope in the water temperature dimension, or the estimated change in crab size for a unit change in water temperature among crabs living with the same air temperature and latitude conditions. \\(y = -1.0587x1 -2.4041x2 + 0.7563x3 + 77.7460\\) In the model’s summary, our p-value is indicated in the Pr(>|t|) column for each variable: because our p-values are well below 0.01, we can deduce that each variable has a significant effect on crab size. Our multiple R-squared (R2) is the Pearson correlation between the observed and the fitted (i.e. predicted) values. We can interpret this as 42.06% of the variability in crab size is explained by the linear regression on water temperature, air temperature, and latitude. NOTE: R2 always increases when an additional predictor is added to a linear model. 8.1.1 Predicting crab size With this multiple linear equation, we can now predict crab size across different varieties of latitude, air temperature, and water temperature using the base R predict() function: new_data <- tibble(latitude = c(32, 36, 38), air_temp = c(20, 12, 9), water_temp = c(22, 14, 11)) predict(mlr_model, newdata = new_data) ## 1 2 3 ## 12.42241 21.37004 24.19604 8.1.2 MLR Assumptions An important aspect when building a multiple linear regression model is to make sure that the following key assumptions are met: All observations are independent of one another. There must be a linear relationship between the dependent and the independent variables. And: The variance of the residual errors is similar across the value of each independent variable. plot(mlr_model, which = 1) This “Residuals vs Fitted” (fitted meaning the predicted values) plot gives an indication if there are non-linear patterns. This is a bit subjective, but a good way of verifying that this assumption is met is by ensuring that no clear trend seems so exist. The residuals should also occupy equal space above and below the line, and along the length of the line. The residual error values are normally distributed. plot(mlr_model, which = 2) … also a bit subjective, but so long as the points on the Q-Q plot follow the dotted line, this assumption is fulfilled. The independent variables are not highly correlated with each other. Multicolinearity can lead to unreliable coefficient estimates, while adding more variables to the model will always increase the R2 value, reflecting a higher proportion of variance explained by the model that is unjust. pie_crab %>% select(latitude, air_temp, water_temp) %>% cor() ## latitude air_temp water_temp ## latitude 1.0000000 -0.9949715 -0.9571738 ## air_temp -0.9949715 1.0000000 0.9632287 ## water_temp -0.9571738 0.9632287 1.0000000 Normally, we should exclude variables that have a correlation coefficient greater than 0.7/-0.7. Alas, all of our variables are HIGHLY correlated with each other. Therefore, these predictors should not all be used in our model. Which is also to say… it is a good idea to check your predictor variables for colinearity before developing a model. 8.2 Exercises We are interested in developing a multiple linear regression model to predict mean annual stream flow across the Eastern US. For every state, we have a handful of watershed and site characteristic data associated with USGS stream gauging stations. Download the ‘usgs_gages’ folder on Canvas and store it in a ‘data’ folder in this assignment’s project directory. Here is a list of all of these files: data_files <- list.files('data/usgs_gages', full.names = TRUE, pattern = "*.csv") 1. Read in each of the data sets associated with the assignment and combine them into a single data set. (HINT: What does map_dfr() do)? 2.5 pts. 2. Using our combined data set, plot each variable against mean annual stream flow to identify variables that seem to have a linear relationship with stream flow. 5 pts. 3. Develop a multiple linear regression model using any combination of the variables in the data set. What is your R-squared value? Which of your variables (if any) are significant predictors of stream flow? 5 pts. 4. Check to see if your model meets the model assumptions required for MLR. 2.5 pts. 5. Use your model to predict mean annual stream flow for two new sets of predictor data. 2.5 pts. 6. If your model does not meet the model’s assumptions, what are some ways of manipulating the data set so that it might? (HINT: review chapter 6) 2.5 pts. 8.3 Citations Data Source: Johnson, D. 2019. Fiddler crab body size in salt marshes from Florida to Massachusetts, USA at PIE and VCR LTER and NOAA NERR sites during summer 2016. ver 1. Environmental Data Initiative. https://doi.org/10.6073/pasta/4c27d2e778d3325d3830a5142e3839bb (Accessed 2021-05-27). Johnson DS, Crowley C, Longmire K, Nelson J, Williams B, Wittyngham S. The fiddler crab, Minuca pugnax, follows Bergmann’s rule. Ecol Evol. 2019;00:1–9. https://doi.org/10.1002/ece3.5883 "],["power.html", " 9 Power 9.1 Assignment 9.2 Citations", " 9 Power Set up our session. At minimum, make sure you have tidyverse, lterdatasampler, palmerpenguins and rstatix in your “setup.R” script. source("setup.R") This week’s lesson is related to power in statistical analysis. 9.0.0.1 Recommended pre-work: Watch this video on statistical power: https://www.youtube.com/watch?v=Rsc5znwR5FA Review the following null hypotheses for all of the tests we have used to far: The null hypotheses for each test we have learned thus far: Levene test - Variances across groups are equal (homogeneity of variances). Shapiro-Wilk test - Data is drawn from a normal distribution. t-test - Means of the two groups are equal. ANOVA - Means of all groups are equal. Correlation - There is no correlation between the two variables. Simple linear regression - There is no linear relationship between the predictor and response variables. Multiple linear regression Overall model - All regression coefficients equal zero (i.e., there is no effect from predictors). Individual predictors - An individual regression coefficient equals zero (no effect for a specific predictor). Power in statistics is a measure of how effective a statistical test is at finding genuine trends/effects in your data. It tells you the likelihood that the test will correctly identify a real relationship or effect when one actually exists. In other words, power is the test’s ability to avoid missing important discoveries, an essential aspect of the reliability and accuracy of statistical analyses. Power can be influenced by the following factors: Sample size - Larger samples provide more power. Effect size - Larger or more dramatic effects are easier to detect. Power is also related to our p-values: if we want our test’s conclusions to hold greater significance, we require more power. Significance in statistics means how important or reliable a finding is. p-values help quantify this by telling us how likely it is that our results occurred by chance; smaller p-values indicate greater significance, suggesting that our findings are less likely due to chance. 9.0.1 Power in action Let’s perform a t-test analysis on our Palmer penguins data set, where we compare bill length across two penguins species, Gentoo and Adelie. data("penguins") # perform the t-test penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% # species must be re-formatted from a factor to a character (t-test doesn't like factors) mutate(species = as.character(species)) %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -8.71 38.8 47.5 bill_length… Adelie Gentoo 151 123 -24.7 3.09e-68 243. -9.41 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> 9.0.1.1 Sample size In our analysis above, we find that bill length is observed to be significantly higher (p-value < 0.05) in Gentoo penguins when compared to Adelie penguins. But, what if we didn’t have as many observations to perform our test on? Let’s cut our data set down to just two observations per species: penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% mutate(species = as.character(species)) %>% drop_na(bill_length_mm) %>% group_by(species) %>% slice_sample(n = 2) %>% # we need to upgroup our data frame for statistical tests ungroup() %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -13.4 37.2 50.6 bill_length_… Adelie Gentoo 2 2 -15.7 0.00449 1.95 -17.2 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> Compared to the p-value in the previous test, this p-value is much larger and, depending on which random samples were chosen in slice_sample, likely higher than our cut-off of 0.05 and would lead to an insignificant difference in bill length between the two species. Therefore, as sample size decreases, so does our power in identifying true trends. 9.0.1.2 Magnitude of effect Let’s look at a histogram of our bill lengths across our two penguin species. Note the last two lines of code I am adding a vertical line at the mean of each group, which we got from the output of the t-test. penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.50) + geom_vline(xintercept = 38.8) + geom_vline(xintercept = 47.5) In the grand scheme of things the difference between these two populations is relatively small in magnitude: their histograms overlap, indicating that some penguins in both species often have similar bill lengths. But, what if the bills of all of the Gentoo penguins magically grew an extra 15 mm? penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% #for all Gentoo species increase bill length by 15 mm mutate(bill_length_mm = if_else(species == "Gentoo", bill_length_mm + 15, bill_length_mm)) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.56) + geom_vline(xintercept = 38.8) + geom_vline(xintercept = 62.5) # I found this from the new mutated values separately And now perform the t-test on this new magical data: penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% # still need to convert species to a character for the t_test function mutate(species = as.character(species)) %>% drop_na(bill_length_mm) %>% #if species == Gentoo, add 15 to bill length.. mutate(bill_length_mm = if_else(species == "Gentoo", bill_length_mm + 15, # otherwise, keep it as is. bill_length_mm)) %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -23.7 38.8 62.5 bill_lengt… Adelie Gentoo 151 123 -67.3 6.46e-159 243. -24.4 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> … when the magnitude of the difference between our observations in our groups increases, our p-value decreases. And, when you have a greater difference between populations, the number of observations required to identify significant differences generally does not have to be so high. Lets run the above code again but keep just two observations from each group and note the p-value: penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% mutate(species = as.character(species)) %>% mutate(bill_length_mm = ifelse(species == "Gentoo", bill_length_mm + 15, bill_length_mm)) %>% # remove NA values for weight drop_na(bill_length_mm) %>% group_by(species) %>% # select 2 random observations from each species: slice_sample(n = 2) %>% ungroup() %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -24.8 39.1 64.0 bill_length_mm Adelie Gentoo 2 2 -6.88 0.0252 1.84 -41.7 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> 9.0.2 Note about random selection If you are playing around with this code on your own, you may notice that the results of each test look different than what’s written in the lesson plan: this is because we are randomly selecting a subset from our penguins populations with the slice_sample() function. In fact, you may have encountered p-values that lead to different conclusions for you (especially those with low sample sizes). The way we select samples from a population significantly impacts our statistical results and the statistical power of our tests. If our samples are representative of the population and sufficiently large, our findings are more likely to accurately reflect reality. However, if our samples are small or not truly representative, our results may be less reliable, and our tests may lack the ability to detect real effects. 9.1 Assignment Let’s re-explore the difference in weight of cutthroat trout in clear cut (CC) and old growth (OG) forest types from our T-test and ANOVA lesson. We want to see how sample size affects our ability to detect this difference. Therefore, our research question is: “Is there a significant difference in weight between old growth and clear cut forest types?” We will set our significance level at 0.05 (i.e., our test’s p-value must be below 0.05 for us to reject the null hypothesis). First load in your data (from the lterdatasampler package) and create a new variable trout for just the trout species: data(and_vertebrates) trout <- and_vertebrates %>% #filter species (remember spelling and capitalization are IMPORTANT) filter(species == "Cutthroat trout") %>% # remove NA values for weight, the variable we will be measuring drop_na(weight_g) Next, we will select a random set of trout observations at both forest types across four different sample sizes: 5, 10, 1000, 5000. Here, I have created the first object of 5 observations per forest type for you: trout_5 <- trout %>% #group by section to pull observations from each group group_by(section) %>% slice_sample(n = 5) %>% # ungroup the data frame to perform the statistical test ungroup() %>% t_test(weight_g ~ section, var.equal = FALSE, detailed = TRUE) 1. Write a function called trout_subber that takes a user-selected number of random observations (the thing that changes) from our trout data frame across both forest types (i.e., section) (5 pts.) HINTS: the number of observations you want to subset to will be an argument of the function. The code I’ve written above can be used as the basis of the function. You can refer back to the Write Functions primer lessons for guidance, specifically How to write a function. 2. Build upon the previous function by adding an additional step to perform a t-test on the data set at the end, and to return the results of that t-test. (NOTE: for simplicity, use the non-parametric t-test across all sub sets). (5 pts.) 3. Map over the function above, using our sample sizes of interest (i.e., 5, 10, 1000, 5000 per forest type). Repeat the process 100 times for each sample size to account for variability. The final outcome of this exercise should be a single data frame with 400 rows that includes all of our t-test summaries stacked on top of each other. (5 pts.) HINTS: Make use of the rep() function to create your vector of numbers to map over… 4. Using the data frame created in exercise 3, make a histogram of p-values for each sample size group (HINT: see what column name in your final data frame you should facet by). Make note of how the p-values and their variance change with sample size. (5 pts.) 9.2 Citations Data Source: Gregory, S.V. and I. Arismendi. 2020. Aquatic Vertebrate Population Study in Mack Creek, Andrews Experimental Forest, 1987 to present ver 14. Environmental Data Initiative. https://doi.org/10.6073/pasta/7c78d662e847cdbe33584add8f809165 Horst AM, Hill AP, Gorman KB (2020). palmerpenguins: Palmer Archipelago (Antarctica) penguin data. R package version 0.1.0. https://allisonhorst.github.io/palmerpenguins/. doi: 10.5281/zenodo.3960218. "],["r-skills-review.html", " 10 R Skills Review 10.1 Tidying datasets 10.2 Exploratory Data Analysis 10.3 Data Analysis", " 10 R Skills Review In this lesson you will take all of the skills you have learned up to this point and use them on a completely new set of data. 10.0.0.1 Necessary packages: library(tidyverse) library(rstatix) # new packages! Only if you want to work through the data retrieval process library(httr) library(jsonlite) library(dataRetrieval) 10.1 Tidying datasets We are interested in looking at how the Cache la Poudre River’s flow changes over time and space as it travels out of the mountainous Poudre Canyon and through Fort Collins. There are four stream flow monitoring sites on the Poudre that we are interested in: two managed by the US Geological Survey (USGS), and two managed by the Colorado Division of Water Resources (CDWR): We are going to work through retrieving the raw data from both the USGS and CDWR databases. 10.1.1 Get USGS stream flow data Using the dataRetrieval package we can pull all sorts of USGS water data. You can read more about the package, functions available, metadata etc. here: https://doi-usgs.github.io/dataRetrieval/index.html # pulls USGS daily ('dv') stream flow data for those two sites: usgs <- dataRetrieval::readNWISdv(siteNumbers = c("06752260", "06752280"), # USGS site code for the Poudre River at the Lincoln Bridge and the ELC parameterCd = "00060", # USGS code for stream flow startDate = "2020-10-01", # YYYY-MM-DD formatting endDate = "2023-10-01") %>% # YYYY-MM-DD formatting rename(q_cfs = X_00060_00003) %>% # USGS code for stream flow units in cubic feet per second (CFS) mutate(Date = lubridate::ymd(Date), # convert the Date column to "Date" formatting using the `lubridate` package Site = case_when(site_no == "06752260" ~ "Lincoln", site_no == "06752280" ~ "Boxelder")) # if you want to save the data: #write_csv(usgs, 'data/review-usgs.csv') 10.1.2 Get CDWR stream flow data Alas, CDWR doesn’t have an R packge to easily pull data from their API like USGS does, but they do have user-friendly instructions about how to develop API calls. Don’t stress if you have no clue what an API is! We will learn a lot more about them in 523A, but this is good practice for our function writing and mapping skills. Using the “URL Generator” steps outlined, if we wanted data from 2020-2022 for the Canyon mouth side (site abbreviation = CLAFTCCO), it generates this URL to retrieve that data: https://dwr.state.co.us/Rest/GET/api/v2/surfacewater/surfacewatertsday/?format=json&dateFormat=dateOnly&fields=abbrev%2CmeasDate%2Cvalue%2CmeasUnit&encoding=deflate&abbrev=CLAFTCCO&min-measDate=10%2F01%2F2020&max-measDate=09%2F30%2F2022 However, we want to pull this data for two different sites, and may want to change the year range of data. Therefore, we can write a function to pull data for our various sites and time frames: # Functin to retrieve data co_water_data <- function(site, start_year, end_year){ raw_data <- httr::GET(url = paste0("https://dwr.state.co.us/Rest/GET/api/v2/surfacewater/surfacewatertsday/?format=json&dateFormat=dateOnly&fields=abbrev%2CmeasDate%2Cvalue%2CmeasUnit&encoding=deflate&abbrev=",site, "&min-measDate=10%2F01%2F", start_year, "&max-measDate=09%2F30%2F", end_year)) # extract the text data, returns a JSON object extracted_data <- httr::content(raw_data, as = "text", encoding = "UTF-8") # parse text from JSON to data frame final_data <- jsonlite::fromJSON(extracted_data)[["ResultList"]] return(final_data) } Now, lets use that function to pull data for our two CDWR sites of interest, which we can iterate over with map(). Since this function returns data frames with the same structure an variable names, we can use map_dfr() to bind the two data frames into a single one: # run function for our two sites sites <- c("CLAFTCCO","CLARIVCO") cdwr <- sites %>% map_dfr(~ co_water_data(site = .x, start_year = 2020, end_year = 2023)) # If you want to save this file #write_csv(cdwr, 'data/review-cdwr.csv') 10.1.3 OR, read in the .csv’s we already generated and saved for you: Read in our two data sets. You will find that they provide the same information (daily streamflow from 2020-2022) but their variable names and structures are different: usgs <- read_csv('data/review-usgs.csv') cdwr <- read_csv('data/review-cdwr.csv') When we look at these two datasets, we see they provide the same information (daily streamflow from 2020-2023) but their variable names and structures are different: glimpse(usgs) ## Rows: 2,191 ## Columns: 6 ## $ agency_cd <chr> "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USG… ## $ site_no <chr> "06752260", "06752260", "06752260", "06752260", "06752260", "06752260", "067… ## $ Date <date> 2020-10-01, 2020-10-02, 2020-10-03, 2020-10-04, 2020-10-05, 2020-10-06, 202… ## $ q_cfs <dbl> 6.64, 7.41, 7.04, 6.84, 6.79, 7.81, 6.49, 11.30, 20.20, 15.20, 11.20, 11.80,… ## $ X_00060_00003_cd <chr> "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "… ## $ Site <chr> "Lincoln", "Lincoln", "Lincoln", "Lincoln", "Lincoln", "Lincoln", "Lincoln",… glimpse(cdwr) ## Rows: 2,147 ## Columns: 4 ## $ abbrev <chr> "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", … ## $ measDate <date> 2020-10-01, 2020-10-02, 2020-10-03, 2020-10-04, 2020-10-05, 2020-10-06, 2020-10-07,… ## $ value <dbl> 42, 36, 34, 32, 35, 30, 30, 34, 34, 27, 21, 29, 26, 43, 39, 44, 39, 45, 46, 39, 36, … ## $ measUnit <chr> "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", … Therefore, in order to combine these two datasets from different sources we need to do some data cleaning. Lets first focus on cleaning the cdwr dataset to match the structure of the usgs one: cdwr_clean <- cdwr %>% # rename data and streamflow vars to match name of usgs vars rename(q_cfs = value) %>% # Add site and agency vars mutate(Date = lubridate::ymd(measDate), Site = ifelse(abbrev == "CLAFTCCO", "Canyon", "Timnath"), agency_cd = "CDWR") Now, we can join our USGS and CDWR data frames together with bind_rows(). data <- bind_rows(usgs,cdwr_clean) 10.2 Exploratory Data Analysis Let’s explore the data to see if there are any trends we can find visually. We can first visualize the data as time series: # Discharge (in CFS) through time displaying all four of our monitoring sites. data %>% ggplot(aes(x = Date, y = q_cfs, color = Site)) + geom_line() + theme_bw() + xlab("Date") + ylab("Discharge (cfs)") + facet_wrap( ~ Site, ncol = 1) Say we wanted to examine differences in annual stream flow. We can do this with a little data wrangling, using the separate() function to split our “Date” column into Year, Month, and Day columns. data_annual <- data %>% separate(Date, into = c("Year", "Month", "Day"), sep = "-") %>% # create monthly avg for plots group_by(Site, Year, Month) %>% summarise(monthly_q = mean(q_cfs)) # visualize annual differences across the course of each year data_annual %>% ggplot(aes(x = Month, y = monthly_q, group = Year)) + geom_line(aes(colour = Year))+ facet_wrap(~Site) + theme_bw() Let’s look at the daily difference in discharge between the mouth of the Cache la Poudre River (Canyon Mouth site) and each of the sites downstream. This will require some more wrangling of our data. dif_data <- data %>% # select vars of interest select(Site, Date, q_cfs) %>% # create a column of streamflow values for each site pivot_wider(names_from = Site, values_from = q_cfs) %>% # for each downstream site, create a new column that is the difference from the Canyon mouth site mutate_at(c("Boxelder", "Lincoln", "Timnath"), .funs = ~ (Canyon - .)) %>% # if you wanted to create new variables use this instead: #mutate_at(c("Boxelder", "Lincoln", "Timnath"), .funs = list(dif = ~ (Canyon - .))) %>% # then pivot these new columns (i.e., NOT the date and canyon columns) longer again pivot_longer(-c(Canyon, Date)) dif_data %>% mutate(name = fct(name, levels = c("Lincoln", "Boxelder", "Timnath"))) %>% ggplot() + geom_line(aes(x = Date, y = value, color = name)) + theme_bw() + facet_wrap("name")+ ylab("Streamflow Difference from Poudre Mouth") 10.3 Data Analysis Through our exploratory data analysis, it appears that stream flow decreases as we move through town. But, how can we test if these flows are significantly different, and identify the magnitude/direction of these differences? Because we will be comparing daily stream flow across multiple sites, we can use an ANOVA test to assess this research question. We will set our alpha at 0.05. 10.3.1 Testing for normal distribution ANOVA assumes normal distribution within each group - we can visualize each site’s data with a histogram: ggplot(data = data, aes(x = q_cfs)) + geom_histogram() + facet_wrap (~Site) … and use the shapiro_test() function along with group_by() to statistically test for normality within each site’s daily stream flow data: data %>% group_by(Site) %>% shapiro_test(q_cfs) ## # A tibble: 4 × 4 ## Site variable statistic p ## <chr> <chr> <dbl> <dbl> ## 1 Boxelder q_cfs 0.485 1.86e-48 ## 2 Canyon q_cfs 0.648 1.29e-42 ## 3 Lincoln q_cfs 0.486 2.08e-48 ## 4 Timnath q_cfs 0.427 2.07e-49 Since the null hypothesis of the Shapiro-Wilk test is that the data is normally distributed, these results tell us all groups do not fit a normal distribution for daily stream flow. It is also quite clear from their histograms that they are not normally distributed. 10.3.2 Testing for equal variance To test for equal variances among more than two groups, it is easiest to use a Levene’s Test like we have done in the past: data %>% levene_test(q_cfs ~ Site) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 3 4334 41.8 1.31e-26 Given this small p-value, we see that the variances of our groups are not equal. 10.3.3 ANOVA - Kruskal-Wallis After checking our assumptions we need to perform a non-parametric ANOVA test, the Kruskal-Wallis test. data %>% kruskal_test(q_cfs ~ Site) ## # A tibble: 1 × 6 ## .y. n statistic df p method ## * <chr> <int> <dbl> <int> <dbl> <chr> ## 1 q_cfs 4338 860. 3 5.36e-186 Kruskal-Wallis Our results here are highly significant (at alpha = 0.05), meaning that at least one of our group’s mean stream flow is significantly different from the others. 10.3.4 ANOVA post-hoc analysis Since we used the non-parametric Kruskal-Wallace test, we can use the associated Dunn’s test to test across our sites for significant differences in mean stream flow: data %>% dunn_test(q_cfs ~ Site) ## # A tibble: 6 × 9 ## .y. group1 group2 n1 n2 statistic p p.adj p.adj.signif ## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <chr> ## 1 q_cfs Boxelder Canyon 1096 1095 28.9 1.92e-183 1.15e-182 **** ## 2 q_cfs Boxelder Lincoln 1096 1095 10.6 1.77e- 26 3.54e- 26 **** ## 3 q_cfs Boxelder Timnath 1096 1052 15.1 2.39e- 51 9.56e- 51 **** ## 4 q_cfs Canyon Lincoln 1095 1095 -18.2 2.94e- 74 1.47e- 73 **** ## 5 q_cfs Canyon Timnath 1095 1052 -13.5 1.27e- 41 3.81e- 41 **** ## 6 q_cfs Lincoln Timnath 1095 1052 4.53 5.84e- 6 5.84e- 6 **** The results of our Dunn test signify that all of our sites are significantly different from eachother mean streamflow across our sites are significantly different. THOUGHT EXPERIMENT 1: Based on our results, which of our two gages have the greatest difference in mean daily stream flow? THOUGHT EXPERIMENT 2: Is this an appropriate test to perform on stream flow data? Why or why not? "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] +[["index.html", "Introduction to Environmental Data Science 1 Welcome! Set up Instructions Navigating this site Goals Approach and Expectations Class Schedule Additional introductory resources", " Introduction to Environmental Data Science Caitlin Mothes, PhD and Katie Willi 2024-09-27 1 Welcome! This site hosts the course curriculum for Colorado State University’s ESS 523A course: Introduction to Environmental Data Science Set up Instructions As your first step, please follow the instructions on the R Setup page to make sure you have all the necessary software installed on your computer before the class starts. Navigating this site The table of contents on the left allows you to navigate to the lesson for each week of the course. Each lesson will walk you through the topic(s), analysis, etc. for that week. There are exercises at the end of the lesson that will be that week’s homework assignment. Homework will be submitted through Canvas and exercise questions (including any code, figures, etc.) must be submitted as a rendered R Markdown document in Word or HTML format. The Intro to R and R Markdown lesson will walk through how to create these R Markdown documents; you will use these R Markdowns as the basis for writing your code/answers to the exercises and then render them to either a Word or HTML report which is what you will submit through Canvas. Goals The broad goal of this course is to learn the data science tools and best practices for working with environmental datasets using the programming language R. Specific to the content in this website, students will learn how to: Navigate the RStudio interface and create R Markdown documents for reproducible reporting; Utilize R packages and functions to manipulate and analyze data effectively and apply data wrangling techniques using the {tidyverse} framework; Differentiate between various data types and structures within R; and Explore comparative analyses, linear regression, and trend analysis techniques to reveal patterns in data. Approach and Expectations This class is flipped, meaning all materials for the week ahead must be reviewed before class. To encourage this we will have weekly quizzes on pre-class content each Monday before we dive into the assignment. So without lectures in class what do we do together? We code! This class has almost 6 hours of contact time per week, and we design lessons so that you should be able to finish your assignments in class. The flipped class allows for deeper discussion about the common pitfalls of coding and allows for collaborative work time with your fellow classmates. Generally we will do a quick live-code review of concepts from the assignment and the pre-class materials, but more than 1 hour per class will be dedicated to you coding and working on the assignment in class. As such, coming to class is a vital part of how you can be successful and we fully expect you to be there every day. We also will actively encourage a collaborative coding environment where students help each other and discuss the best approach to solving various coding problems. We also hope that outside of class, you will use our Teams channel to discuss code issues! We will always send announcements with assignments, web links, and other updates through Canvas. The course syllabus will also be posted on Canvas. Class Schedule All links to Primers lessons (except for R Markdown) can be found here: https://github.com/rossyndicate/primers/blob/main/README.md All assignments are due by midnight of the specified date and are subject to change. Week Date (Monday) Content Assignment Due Date 1 8/19 Before class: Primers Basics and R Markdown; download R and RStudio Introduction to R, RStudio, RMarkdown Assignment - None N/A 2 8/26 Before class: Work with Data Exploratory data analysis Assignment - Exploratory Data Analysis (20 points) 9/3 3 9/2 No Class Monday 9/2! Before class Wednesday: Visualize Data Data visualization Assignment - Bad Plots (20 points) 9/9 4 9/9 Before class: Tidy Your Data Introduction to statistical analysis - T-tests, ANOVA Assignment - T-Tests and ANOVA (20 points) 9/16 5 9/16 Before class: Iterate Simple Linear Regression Assignment - Simple regression (20 points) 9/23 6 9/23 Before class: Write Functions Multiple Linear Regression Assignment - Interpreting multiple linear regression (20 points) 9/30 7 9/30 Power in Statistical Analysis and R Skills Review Assignment - Power (20 points) 10/7 8 10/7 Intro to Git and GitHub Assignment - First Git Repo and Pull Request (20 points) 10/14 9 10/14 Debugging Assignment - Debugging LLM Output (20 points) 10/21 10 10/21 Iteration, Functions, API calls Assignment - National Park Visitation (20 points) 10/28 11 10/28 Introduction to Working with Geospatial Data; Final Project Overview N/A 12 11/4 Introduction to Working with Geospatial Data (cont.) Assignment - Geospatial Workflows (20 points) 11/11 13 11/11 Nested Modeling Assignment - Water quality modeling (20 points) 11/18 14 11/18 Introduction to Machine Learning Assignment - Remote sensing of water quality (20 points) 12/02 15 11/25 No Classes - Fall Break 16 12/02 Final Projects - R Markdown, Bookdown, Quarto, Shiny Assignment - Final Project (100 points) 12/11 Additional introductory resources If you are looking to learn even more outside of what this class offers, below are some great introductory R resources: Stat 158 - Vectors, data frames, installing R, etc… RStudio Materials - A series of videos, books, and more to get you started in R. 1.0.0.1 Tidyverse Introduction R for Data Science - Covers all of the basic intro material, from a tidyverse perspective. As discussed, this is one way to find solutions in R, it happens to be my preferred way, but there are lots of Base R ways that work just fine! Stat 159 - A CSU specific course for an intro to the tidyverse R Markdown - The primary book for learning more about R Markdown and all of its quirks. Cheatsheets - Short, clear documents that cover so much material from dplyr to shiny apps. Great for quick references. We find the rmarkdown and ggplot2 ones particularly useful! "],["setup-instructions.html", " 2 Setup Instructions 2.1 Install R and RStudio 2.2 Package Installation", " 2 Setup Instructions This tutorial walks you through all the required setup steps for using R and RStudio in this course. Please use our class’s Teams Channel to post any questions/problems that you encounter. 2.1 Install R and RStudio R is an open source language and software environment for statistical analysis and graphics (plus so much more!). You must first download the R software (for free) here: https://www.r-project.org/. Click the download link based on your operating system (OS). Then, for Mac users, install the latest release based on your macOS. For Windows users, click the ‘install R for the first time’ link. Note: If you already have R installed, you must have at least version 4.0.0. or greater, but it is best to have the most recent version installed (4.3.1) RStudio is a (also free) R Integrated Development Environment (IDE) that provides a built-in editor and other advantages such as version control and project management. Once you have the R software installed on your computer, you can install RStudio Desktop here: https://posit.co/download/rstudio-desktop/. Under Step 2 click the download RStudio Desktop button. 2.2 Package Installation While the R software comes with many pre-loaded functions (referred to as ‘base R’ functions) to perform various operations in R, there are thousands of R packages that provide additional reusable R functions. In order to use these functions you need to first install the package to your local machine using the install.packages() function. Once a package is installed on your computer you don’t need to install it again (but you may have to update it). Anytime you want to use the package in a new R session you can load it with the library() function. We will be working in RStudio for this entire course, so after you have installed both R and RStudio, open a new session of RStudio. You will learn more about the ins and outs of RStudio in class, but for set up purposes you will just be running code in the Console. Normally you want to save the code you write, but since package installation is only needed once (unless you are working on a new machine or need to update any packages) you can execute this directly in the console. Run the following three lines of code (one at a time) in the console. You can click the copy button in the upper right corner when you hover over the code chunk, then paste that after the > in the Console. Spelling and capitalization is important! Install the {tidyverse} package. The Tidyverse is actually a collection of multiple R packages designed for data manipulation, exploration, and visualization that you are likely to use in every day data analysis. When you install the Tidyverse, it installs all of these packages, and you can later load all of them in your R session with library(tidyverse). Since you are installing multiple packages here this may take a little while. install.packages("tidyverse") Install the {palmerpenguins} package. This is a data package that installs a couple of spreadsheets you can load and work with in R. install.packages("palmerpenguins") Install the {rmarkdown} package. Later on in the course you will be working in and rendering R Markdown files and reports. R Markdown is a notebook style interface integrating text and code, allowing you to create fully reproducible documents and render them to various elegantly formatted static or dynamic outputs. You can learn more about R Markdown at their website, which has really informative lessons on their Getting Started page, and see the range of outputs you can create at their Gallery page. install.packages("rmarkdown") To see if you successfully installed all three packages, use the library() function to load the packages into your session. You should either see nothing printed to the console after running library(), or in the case of the tidyverse you may see some messages printed. As long as there are no error messages, you should be all set! Please use our class’s Teams Channel for assistance if you get any error messages. library(tidyverse) library(palmerpenguins) library(rmarkdown) "],["introduction-to-r-rstudio-and-r-markdown.html", " 3 Introduction to R, RStudio and R Markdown 3.1 Getting to know RStudio 3.2 R Projects 3.3 Write a set-up script 3.4 R Markdown 3.5 Explore 3.6 Read and Write Data", " 3 Introduction to R, RStudio and R Markdown In this lesson we will get a general introduction to coding in RStudio, using R Markdown, some R fundamentals such as data types and indexing, and touch on a range of coding topics that we will dive into deeper throughout the course. 3.1 Getting to know RStudio When you first open RStudio, it is split into 3 panels: The Console (left), where you can directly type and run code (by hitting Enter) The Environment/History pane (upper-right), where you can view the objects you currently have stored in your environment and a history of the code you’ve run The Files/Plots/Packages/Help pane (lower-right), where you can search for files, view and save your plots, view and manage what packages are loaded in your library and session, and get R help. Image Credit: Software Carpentry To write and save code you use .R scripts (or RMarkdown, which we will learn shortly). You can open a new script with File -> New File or by clicking the icon with the green plus sign in the upper left corner. When you open a script, RStudio then opens a fourth ‘Source’ panel in the upper-left to write and save your code. You can also send code from a script directly to the console to execute it by highlighting the entire code line/chunk (or place your cursor at the end of the code chunk) and hit CTRL+ENTER on a PC or CMD+ENTER on a Mac. Image Credit: Software Carpentry It is good practice to add comments/notes throughout your scripts to document what the code is doing. To do this start a line with a #. R knows to ignore everything after a #, so you can write whatever you want there. Note that R reads line by line, so if you want your comments to carry over multiple lines you need a # at every line. 3.2 R Projects As a first step whenever you start a new project, workflow, analysis, etc., it is good practice to set up an R project. R Projects are RStudio’s way of bundling together all your files for a specific project, such as data, scripts, results, figures. Your project directory also becomes your working directory, so everything is self-contained and easily portable. We recommend using a single R Project (i.e., contained in a single folder) for this course, so lets create one now. You can start an R project in an existing directory or in a new one. To create a project go to File -> New Project: Let’s choose ‘New Directory’ then ‘New Project’. Now choose a directory name, this will be both the folder name and the project name, so use proper spelling conventions (no spaces!). We recommend naming it something course specific, like ‘WR-696-2023’, or even more generic ‘Intro-R-Fall23’. Choose where on your local file system you want to save this new folder/project (somewhere you can find it easily), then click ‘Create Project’. Now you can see your RStudio session is working in the R project you just created. You can see the working directory printed at the top of your console is now the project directory, and in the ‘Files’ tab in RStudio you can see there is an .Rproj file with the same name as the R project, which will open up this R project in RStudio whenever you come back to it. Test out how this .Rproj file works. Close out of your R session, navigate to the project folder on your computer, and double-click the .Rproj file. What is a working directory? A working directory is the default file path to a specific file location on your computer to read files from or save files to. Since everyone’s computer is unique, everyone’s full file paths will be different. This is an advantage of working in R Projects, you can use relative file paths, since the working directory defaults to wherever the .RProj file is saved on your computer you don’t need to specify the full unique path to read and write files within the project directory. 3.3 Write a set-up script Let’s start coding! The first thing you do in a fresh R session is set up your environment, which mostly includes installing and loading necessary libraries and reading in required data sets. Let’s open a fresh R script and save it in our root (project) directory. Call this script ‘setup.R’. 3.3.1 Functions Before creating a set up script, it might be helpful to understand the use of functions in R if you are new to this programming language. R has many built-in functions to perform various tasks. To run these functions you type the function name followed by parentheses. Within the parentheses you put in your specific arguments needed to run the function. # mathematical functions with numbers log(10) ## [1] 2.302585 # average a range of numbers mean(1:5) ## [1] 3 # nested functions for a string of numbers, using the concatenate function 'c' mean(c(1,2,3,4,5)) ## [1] 3 # functions with characters print("Hello World") ## [1] "Hello World" paste("Hello", "World", sep = "-") ## [1] "Hello-World" 3.3.2 Packages R Packages include reusable functions that are not built-in with R. To use these functions, you must install the package to your local system with the install.packages() function. Once a package is installed on your computer you don’t need to install it again (you will likely need to update it at some point though). Anytime you want to use the package in a new R session you load it with the library() function. When do I use :: ? If you have a package installed, you don’t necessarily have to load it in with library() to use it in your R session. Instead, you can type the package name followed by :: and use any functions in that package. This may be useful for some one-off functions using a specific package, however if you will be using packages a lot throughout your workflow you will want to load it in to your session. You should also use :: in cases where you have multiple packages loaded that may have conflicting functions (e.g., plot() in Base R vs. plot() in the {terra} package). 3.3.2.1 Base R vs. The Tidyverse You may hear us use the terms ‘Base R’ and ‘Tidyverse’ a lot throughout this course. Base R includes functions that are installed with the R software and do not require the installation of additional packages to use them. The Tidyverse is a collection of R packages designed for data manipulation, exploration, and visualization that you are likely to use in every day data analysis, and all use the same design philosophy, grammar, and data structures. When you install the Tidyverse, it installs all of these packages, and you can then load all of them in your R session with library(tidyverse). Base R and the Tidyverse have many similar functions, but many prefer the style, efficiency and functionality of the Tidyverse packages, and we will mostly be sticking to Tidyverse functions for this course. 3.3.2.2 Package load function To make code reproducible (meaning anyone can run your code from their local machines) we can write a function that checks whether or not necessary packages are installed, if not install them and load them, or if they are already installed it will only load them and not re-install. This function looks like: packageLoad <- function(x) { for (i in 1:length(x)) { if (!x[i] %in% installed.packages()) { install.packages(x[i]) } library(x[i], character.only = TRUE) } } For each package name given (‘x’) it checks if it is already installed, if not installs it, and then loads that package into the session. In future lessons we will learn more about writing custom functions, and iterating with for loops, but for now you can copy/paste this function and put it at the top of your set up script. When you execute this chunk of code, you won’t see anything printed in the console, however you should now see packageLoad() in your Environment under ‘Functions’. You can now use this function as many times as you want. Test is out, and use it to install the Tidyverse package(s). packageLoad('tidyverse') You can also give this function a string of package names. Lets install all the packages we will need for the first week, or if you already followed the set up instructions, this will just load the packages into your session since you already installed them. # create a string of package names packages <- c('tidyverse', 'palmerpenguins', 'rmarkdown') # use the packageLoad function we created on those packages packageLoad(packages) Since this is code you will be re-using throughout your workflows, we will save it as its own script and run it at the beginning of other scripts/documents using the source() function as a part of our reproducible workflows. 3.4 R Markdown Throughout this course you will be working mostly in R Markdown documents. R Markdown is a notebook style interface integrating text and code, allowing you to create fully reproducible documents and render them to various elegantly formatted static or dynamic outputs (which is how you will be submitting your assignments). You can learn more at the R Markdown website, which has really informative lessons on the Getting Started page and you can see the range of outputs you can create at the Gallery page. 3.4.1 What About Quarto? Some of you may have heard of Quarto, which is essentially an extension of R Markdown but it lives as its own software to allow its use in other languages such as Python, Julia and Observable. You can install the Quarto CLI on its own and RStudio will detect it so you can create documents within the IDE, or alternatively with newer versions of RStudio a version of Quarto is built-in and you can enable Quarto through the R Markdown tab in Global Options. R Markdown isn’t going anywhere, however many in the data science realm are switching to Quarto. Quarto documents are very similar to R Markdown, in fact Quarto can even render R Markdown documents, so after learning R Markdown in this course you should have some of the fundamental skills to easily switch to Quarto if you want to. You can read more about Quarto here. 3.4.2 Getting started with R Markdown Let’s create a new document by going to File -> New File -> R Markdown. You will be prompted to add information like title and author, fill those in (let’s call it “Intro to R and R Markdown”) and keep the output as HTML for now. Click OK to create the document. This creates an outline of an R Markdown document, and you see the title, author and date you gave the prompt at the top of the document which is called the YAML header. Notice that the file contains three types of content: An (optional) YAML header surrounded by ---s R code chunks surrounded by ```s text mixed with simple text formatting Since this is a notebook style document, you run the code chunks by clicking the green play button in the top right corner of each code chunk, and then the output is returned directly below the chunk. If you’d rather have the code chunk output go to the console instead of directly below the chunk in your R Markdown document, go to Tools -> Global Options -> R Markdown and uncheck “Show output inline for all R Markdown documents” When you want to create a report from your notebook, you render it by hitting the ‘knit’ button at the top of the Source pane (with the ball of yarn next to it), and it will render to the format you have specified in the YAML header. In order to do so though, you need to have the {rmarkdown} package installed. You can delete the rest of the code/text below the YAML header, and insert a new code chunk at the top. You can insert code chunks by clicking the green C with the ‘+’ sign at the top of the source editor, or with the keyboard short cut (Ctrl+Alt+I for Windows, Option+Command+I for Macs). For the rest of the lesson (and course) you will be writing and executing code through code chunks, and you can type any notes in the main body of the document. The first chunk is almost always your set up code, where you read in libraries and any necessary data sets. Here we will execute our set up script to install and load all the libraries we need: source("setup.R") 3.5 Explore Normally when working with a new data set, the first thing we do is explore the data to better understand what we’re working with. To do so, you also need to understand the fundamental data types and structures you can work with in R. 3.5.1 The penguins data For this intro lesson, we are going to use the Palmer Penguins data set (which is loaded with the {palmerpenguins} package you installed in your set up script). This data was collected and made available by Dr. Kristen Gorman and the Palmer Station, Antarctica LTER, a member of the Long Term Ecological Research Network. Load the penguins data set. data("penguins") You now see it in the Environment pane. Print it to the console to see a snapshot of the data: penguins ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows 3.5.2 Data Types This data is structured as a data frame, probably the most common data type and one you are most familiar with. These are like Excel spreadsheets: tabular data organized by rows and columns. However we see at the top this is called a tibble which is just a fancy kind of data frame specific to the Tidyverse. At the top we can see the data type of each column. There are five main data types: character: \"a\", \"swc\" numeric: 2, 15.5 integer: 2L (the L tells R to store this as an integer) logical: TRUE, FALSE complex: 1+4i (complex numbers with real and imaginary parts) Data types are combined to form data structures. R’s basic data structures include: atomic vector list matrix data frame factors You can see the data type or structure of an object using the class() function, and get more specific details using the str() function. (Note that ‘tbl’ stands for tibble). class(penguins) ## [1] "tbl_df" "tbl" "data.frame" str(penguins) ## tibble [344 × 8] (S3: tbl_df/tbl/data.frame) ## $ species : Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ... ## $ island : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ... ## $ bill_length_mm : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ... ## $ bill_depth_mm : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ... ## $ flipper_length_mm: int [1:344] 181 186 195 NA 193 190 181 195 193 190 ... ## $ body_mass_g : int [1:344] 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ... ## $ sex : Factor w/ 2 levels "female","male": 2 1 1 NA 1 2 1 2 NA NA ... ## $ year : int [1:344] 2007 2007 2007 2007 2007 2007 2007 2007 2007 2007 ... class(penguins$species) ## [1] "factor" str(penguins$species) ## Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ... When we pull one column from a data frame like we just did above using the $ operator, that returns a vector. Vectors are 1-dimensional, and must contain data of a single data type (i.e., you cannot have a vector of both numbers and characters). If you want a 1-dimensional object that holds mixed data types and structures, that would be a list. You can put together pretty much anything in a list. myList <- list("apple", 1993, FALSE, penguins) str(myList) ## List of 4 ## $ : chr "apple" ## $ : num 1993 ## $ : logi FALSE ## $ : tibble [344 × 8] (S3: tbl_df/tbl/data.frame) ## ..$ species : Factor w/ 3 levels "Adelie","Chinstrap",..: 1 1 1 1 1 1 1 1 1 1 ... ## ..$ island : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ... ## ..$ bill_length_mm : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ... ## ..$ bill_depth_mm : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ... ## ..$ flipper_length_mm: int [1:344] 181 186 195 NA 193 190 181 195 193 190 ... ## ..$ body_mass_g : int [1:344] 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ... ## ..$ sex : Factor w/ 2 levels "female","male": 2 1 1 NA 1 2 1 2 NA NA ... ## ..$ year : int [1:344] 2007 2007 2007 2007 2007 2007 2007 2007 2007 2007 ... You can even nest lists within lists: list(myList, list("more stuff here", list("and more"))) ## [[1]] ## [[1]][[1]] ## [1] "apple" ## ## [[1]][[2]] ## [1] 1993 ## ## [[1]][[3]] ## [1] FALSE ## ## [[1]][[4]] ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows ## ## ## [[2]] ## [[2]][[1]] ## [1] "more stuff here" ## ## [[2]][[2]] ## [[2]][[2]][[1]] ## [1] "and more" You can use the names() function to retrieve or assign names to list and vector elements: names(myList) <- c("fruit", "year", "logic", "data") names(myList) ## [1] "fruit" "year" "logic" "data" 3.5.3 Indexing Indexing is an extremely important aspect to data exploration and manipulation. In fact you already started indexing when we looked at the data type of individual columns with penguins$species. How you index is dependent on the data structure. Index lists: # for lists we use double brackes [[]] myList[[1]] # select the first stored object in the list ## [1] "apple" myList[["data"]] # select the object in the list named "data" (a data frame) ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows Index vectors: # for vectors we use single brackets [] myVector <- c("apple", "banana", "pear") myVector[2] ## [1] "banana" Index data frames: # dataframe[row(s), columns()] penguins[1:5, 2] penguins[1:5, "island"] penguins[1, 1:5] penguins[1:5, c("species","sex")] penguins[penguins$sex=='female',] # $ for a single column penguins$species To index elements of a list you must use double brackets [[ ]], and to index vectors and data frames you use single brackets [ ] 3.5.3.1 Exercises (not required, but work through them if you want!) Why don’t the following lines of code work? Tweak each one so the code runs myList["Fruit"] penguins$flipper_lenght_mm penguins[island=='Dream',] How many species are in the penguins data set? What islands were the data collected for? (Note: the unique() function might help) Use indexing to create a new data frame that has only 3 columns: species, island and flipper length columns, and subset all rows for just the ‘Dream’ island. Use indexing and the mean() function to find the average flipper length for the Adelie species on Dream island. (Note: explore the mean() function and how to deal with NA values). 3.5.4 The {dplyr} package So far the code you’ve been writing has consisted of Base R functionality. Now lets dive into the Tidyverse with the {dplyr} package. {dplyr} is a Tidyverse package to handle most of your data exploration and manipulation tasks. Now that you have learned indexing, you may notice the first two {dplyr} functions you are going to learn. filter() and select() act as indexing functions by subsetting rows and columns based on specified names and/or conditions. Subset rows with filter() You can filter data in many ways using logical operators (>, >=, <, <=, != (not equal), and == (equal)), AND (&), OR (|), and NOT (!) operators, and other operations such as %in%, which returns everything that matches at least one of the values in a given vector, and is.na() and !is.na() to return all missing or all non-missing data. filter(penguins, species == "Adelie") filter(penguins, species != "Adelie") filter(penguins, island %in% c("Dream", "Torgersen") & !is.na(bill_length_mm)) Note: Tidyverse package functions take in column names without quotations. Using {dplyr} functions will not manipulate the original data, so if you want to save the returned object you need to assign it to a new variable. Select columns with select() select() has many helper functions you can use with it, such as starts_with(), ends_with(), contains() and many more that are very useful when dealing with large data sets. See ?select for more details. Writing out ? ahead of any function from a package will open a description of that function in the “Help” pane. # Select two specific variables select(penguins, species, sex) # Select a range of variables select(penguins, species:flipper_length_mm) # Rename columns within select select(penguins, genus = species, island) # Select column variables that are recorded in mm select(penguins, contains("mm")) Create new variables with mutate() # New variable that calculates bill length in cm mutate(penguins, bill_length_cm = bill_length_mm/10) # mutate based on conditional statements mutate(penguins, species_sex = if_else(sex == 'male', paste0(species,"_m"), paste0(species, "_f"))) Notice the use of paste0() here, and when we briefly used a similar function paste() in the ‘Functions’ section above. Explore the difference between these two. They are both very useful functions for pasting strings together. group_by() and summarise() These can all be used in conjunction with group_by() which changes the scope of each function from operating on the entire data set to operating on it group-by-group. group_by() becomes even more powerful when used along with summarise() to calculate some specified summary statistic for each group. However before we start using multiple operations in conjunction with one another, we need to talk about the pipe operator %>%. 3.5.4.1 The pipe %>% The pipe, %>%, comes from the magrittr package by Stefan Milton Bache. Packages in the Tidyverse load %>% for you automatically, so you don’t usually load {magrittr} explicitly. Pipes are a powerful tool for clearly expressing a sequence of multiple operations. For example, the pipe operator can take this sequence of operations: df1 <- filter(penguins, island == "Dream") df2 <- mutate(df1, flipper_length_cm = flipper_length_mm/10) df3 <- select(df2, species, year, flipper_length_cm) print(df3) And turn it into this, removing the need to create intermediate variables penguins %>% filter(island == "Dream") %>% mutate(flipper_length_cm = flipper_length_mm/10) %>% select(species, year, flipper_length_cm) You can read it as a series of imperative statements: filter, then mutate, then select. A good way to pronounce %>% when reading code is “and then”. It takes the output of the operation to the left of %>% and feeds it into the next function as the input. Say you want to summarize data by some specified group, for example you want to find the average body mass for each species, this is where the group_by() function comes into play. penguins %>% group_by(species) %>% summarise(body_mass_avg = mean(body_mass_g, na.rm = TRUE)) Or get a count of how many individuals were observed for each species each year penguins %>% group_by(species, year) %>% summarise(n_observations = n()) You can even shorten the above operation by using count() instead of summarise. 3.5.4.2 Exercises (not required, but useful if you want to work through them!) Reorder the variables in penguins so that year is the first column followed by the rest (Hint: look into the use of everything()). Create a new column called ‘size_group’ where individuals with body mass greater than the overall average are called ‘large’ and those smaller are called ‘small’. Find out which year for each species had the largest average body mass. You want to filter data for years that are not in a vector of given years, but this code doesn’t work. Tweak it so that it does. (Yes, you could just filter year to equal 2007 in this case but there is a trouble-shooting lessons here). penguins %>% filter(year !%in% c(2008, 2009)) 3.6 Read and Write Data We used an R data package today to read in our data frame, but that probably isn’t how you will normally read in your data. There are many ways to read and write data in R. To read in .csv files, you can use read_csv() which is included in the Tidyverse with the {readr} package, and to save csv files use write_csv(). The {readxl} package is great for reading in excel files, however it is not included in the Tidyverse and will need to be loaded separately. "],["exploratory-data-analysis.html", " 4 Exploratory Data Analysis 4.1 Data wrangling 4.2 Exercises 4.3 Visualization 4.4 Exercises", " 4 Exploratory Data Analysis For this lesson you will be working with the same penguins data from last week. You will be submitting this as your first assignment, so start a new R Markdown document to record your code and answers to the assignment questions, which you will submit as a rendered HTML or Word document on Canvas. You can set up your session by executing your set up script we created in Lesson 1 source("setup.R") OR if you haven’t created your set up script, you can load the two libraries below we will need for today: library(tidyverse) library(palmerpenguins) Note: To avoid warnings and other messages showing up in your rendered R Markdown document, you can set messae = FALSE and warning = FALSE in your code chunk arguments. 4.0.1 The penguins data For this lesson, we are going to use the Palmer Penguins data set (which is loaded with the {palmerpenguins} package). This data was collected and made available by Dr. Kristen Gorman and the Palmer Station, Antarctica LTER, a member of the Long Term Ecological Research Network. Since this is a data set from the data package {palmerpenguins}, we can use the data() function to load it into our session: data("penguins") You should now see it in the Environment pane. Print it to the console to see a snapshot of the data: penguins ## # A tibble: 344 × 8 ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex year ## <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int> ## 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007 ## 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007 ## 3 Adelie Torgersen 40.3 18 195 3250 female 2007 ## 4 Adelie Torgersen NA NA NA NA <NA> 2007 ## 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007 ## 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007 ## 7 Adelie Torgersen 38.9 17.8 181 3625 female 2007 ## 8 Adelie Torgersen 39.2 19.6 195 4675 male 2007 ## 9 Adelie Torgersen 34.1 18.1 193 3475 <NA> 2007 ## 10 Adelie Torgersen 42 20.2 190 4250 <NA> 2007 ## # ℹ 334 more rows 4.0.2 Exploratory Data Analysis When working with a new data set, often the first thing you do is perform some initial investigations on the data using various summary statistics and graphical representations. This is exploratory data analysis! Or for short, EDA. EDA is used to catch any potential errors, assess statistical assumptions, observe patterns and help form initial hypotheses of your data that you can then test with statistics. For our penguins data, we want to start by exploring things like sample size, variation and distribution of our variables, and make initial comparisons among species, islands, and sex. A new Base R function we have yet to use is summary(). This functions gives us a very quick snapshot of each variable in our dataset, where we can see things like sample size and summary statistics. summary(penguins) ## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g ## Adelie :152 Biscoe :168 Min. :32.10 Min. :13.10 Min. :172.0 Min. :2700 ## Chinstrap: 68 Dream :124 1st Qu.:39.23 1st Qu.:15.60 1st Qu.:190.0 1st Qu.:3550 ## Gentoo :124 Torgersen: 52 Median :44.45 Median :17.30 Median :197.0 Median :4050 ## Mean :43.92 Mean :17.15 Mean :200.9 Mean :4202 ## 3rd Qu.:48.50 3rd Qu.:18.70 3rd Qu.:213.0 3rd Qu.:4750 ## Max. :59.60 Max. :21.50 Max. :231.0 Max. :6300 ## NA's :2 NA's :2 NA's :2 NA's :2 ## sex year ## female:165 Min. :2007 ## male :168 1st Qu.:2007 ## NA's : 11 Median :2008 ## Mean :2008 ## 3rd Qu.:2009 ## Max. :2009 ## For some more in depth EDA, the tidyverse packages provide many useful functions to summarize and visualize data. Today we are going to simultaneously learn more about various functions of tidyverse packages while investigating and formulating hypotheses about our penguins data set. 4.1 Data wrangling 4.1.1 The dplyr package dplyr is a Tidyverse package to handle most of your data exploration and manipulation tasks. Now that you have learned indexing in the [Intro to R lesson][Introduction to R and RStudio], you may notice the first two dplyr functions we are going to learn, filter() and select() act as indexing functions, subsetting rows and columns based on specified names and/or conditions. Subset rows with filter() You can filter data in many ways using logical operators (>, >=, <, <=, != (not equal), and == (equal)), AND (&), OR (|), and NOT (!) operators, and other operations such as %in%, which returns everything that matches at least one of the values in a given vector, and is.na() and !is.na() to return all missing or all non-missing data. # filter rows for just the Adelie species filter(penguins, species == "Adelie") # filter rows for all species EXCEPT Adelie filter(penguins, species != "Adelie") # filter islands Dream and Torgersen AND rows that DO NOT have missing values for bill length filter(penguins, island %in% c("Dream", "Torgersen") & !is.na(bill_length_mm)) Note: Tidyverse package functions take in column names without quotations. Using dplyr functions will not manipulate the original data, so if you want to save the returned object you need to assign it to a new variable. body_mass_filtered <- filter(penguins, body_mass_g > 4750 | body_mass_g < 3550) Subset columns with select() select() has many helper functions you can use with it, such as starts_with(), ends_with(), contains() and many more that are very useful when dealing with large data sets. See ?select for more details # Select two specific variables select(penguins, species, sex) # Select a range of variables select(penguins, species:flipper_length_mm) # Rename columns within select select(penguins, genus = species, island) # Select column variables that have 'mm' in their name select(penguins, contains("mm")) Create new variables with mutate() mutate() allows you to edit existing columns or create new columns in an existing data frame, and you can perform calculations on existing columns to return outputs in the new column. The syntax is the name of the new column you want to make (or the current column you want to edit) on the left of =, and then to the right is what you want to put in the new column. Note that mutate() works row wise on the data frame. # New variable that calculates bill length in cm mutate(penguins, bill_length_cm = bill_length_mm/10) # mutate based on conditional statements with if_else() mutate(penguins, species_sex = if_else(sex == 'male', paste0(species,"_m"), paste0(species, "_f"))) if_else() reads as: IF the given argument (sex == 'male') is TRUE, put this: paste0(species,\"_m\") otherwise if FALSE put this: paste0(species, \"_f\") Notice the use of paste0() here, and when we briefly used a similar function paste() in the ‘Functions’ section of the Intro to R lesson. Explore the difference between these two. They are both very useful functions for creating new character strings. 4.1.1.1 The pipe %>% The pipe, %>%, comes from the magrittr package by Stefan Milton Bache. Packages in the tidyverse load %>% for you automatically, so you don’t usually load magrittr explicitly. Pipes are a powerful tool for clearly expressing a sequence of multiple operations. For example, the pipe operator can take this sequence of operations: df1 <- filter(penguins, island == "Dream") df2 <- mutate(df1, flipper_length_cm = flipper_length_mm/10) df3 <- select(df2, -flipper_length_mm) # keep everything BUT the flipper_length_mm column print(df3) And turn it into this, removing the need to create intermediate variables penguins %>% filter(island == "Dream") %>% mutate(flipper_length_cm = flipper_length_mm/10) %>% select(-flipper_length_cm) You can read it as a series of imperative statements: filter, then mutate, then select. A good way to pronounce %>% when reading code is “then”. It takes the output of the operation to the left of %>% and feeds it into the next function as the input. group_by() and summarise() All the above functions can all be used in conjunction with group_by(), which changes the scope of each function from operating on the entire data set to instead operate by specified groups. group_by() becomes even more powerful when used along with summarise() to calculate some specified summary statistic for each group. Say you want to summarize data by some specified group, for example you want to find the average body mass for each species, this is how you could do that: penguins %>% group_by(species) %>% summarise(body_mass_avg = mean(body_mass_g, na.rm = TRUE)) ## # A tibble: 3 × 2 ## species body_mass_avg ## <fct> <dbl> ## 1 Adelie 3701. ## 2 Chinstrap 3733. ## 3 Gentoo 5076. Notice the additional argument na.rm = TRUE within the mean() function. This is required for any mathamatical or statistical functions if you have ANY missing (NA) values in your dataset. What this does is remove those values from the calculation, otherwise mean() would just return NA without the na.rm = TRUE argument. The output now only has 3 rows, one for each unique group (i.e., species), and a new column with the calculated average body mass for each species. You can also group by multiple variables. Say you want to calculate the sample size (i.e., count, which can be calculated with the n() function) for each species for each year of the study: penguins %>% group_by(species, year) %>% summarise(n_observations = n()) ## # A tibble: 9 × 3 ## # Groups: species [3] ## species year n_observations ## <fct> <int> <int> ## 1 Adelie 2007 50 ## 2 Adelie 2008 50 ## 3 Adelie 2009 52 ## 4 Chinstrap 2007 26 ## 5 Chinstrap 2008 18 ## 6 Chinstrap 2009 24 ## 7 Gentoo 2007 34 ## 8 Gentoo 2008 46 ## 9 Gentoo 2009 44 You can even shorten the above operation by using a new function, count(), instead of summarise(): penguins %>% group_by(species, year) %>% count() 4.2 Exercises You must include the line(s) of code used to answer each question Why don’t the following lines of code work? Tweak each one so the code runs (3 pts.) penguins[1:5, ("species", "island")] penguins$flipper_lenght_mm penguins[island=='Dream',] Find the average flipper length for each species. Which species has the largest flippers? (2 pts.) Which is the only species that was sampled across all three islands in this study? You must use {dplyr} functions to answer this question (e.g., group_by() …) (2 pts.) Reorder the variables in penguins so that year is the first column followed by the rest (Hint: look into the use of everything()). (2 pts.) Create a new column called ‘size_group’ where individuals with body mass greater than the overall average are called ‘large’ and those smaller are called ‘small’. (Note: this answer requires the additional use of both the if_else() and mean() functions. Remember how to deal with NA values in mean()). (4 pts.) You want to filter data for years that are not in a vector of given years, but this code doesn’t work. Tweak it so that it does. (Yes, you could just filter year to equal 2007 in this case but there is a trouble-shooting lessons here). (2 pts.) penguins %>% filter(year !%in% c(2008, 2009)) 4.3 Visualization An important part of data exploration includes visualizing the data to reveal patterns you can’t necessarily see from viewing a data frame of numbers. Here we are going to walk through a very quick introduction to ggplot2, using some code examples from the palmerpenguins R package tutorial: https://allisonhorst.github.io/palmerpenguins/articles/intro.html. ggplot2 is perhaps the most popular data visualization package in the R language, and is also a part of the Tidyverse. One big difference about ggplot though is that it does not use the pipe %>% operator like we just learned, but instead threads together arguments with + signs (but you can pipe a data frame into the first ggplot() argument). The general structure for ggplots follows the template below. Note that you can also specify the aes() parameters within ggplot() instead of your geom function, which you may see a lot of people do. The mappings include arguments such as the x and y variables from your data you want to use for the plot. The geom function is the type of plot you want to make, such as geom_point(), geom_bar(), etc, there are a lot to choose from. # general structure of ggplot functions ggplot(data = <DATA>) + <GEOM_FUNCTION>(mapping = aes(<MAPPINGS>)) Visualize variable distributions with geom_historgram() If you plan on doing any statistical analysis on your data , one of the first things you are likely to do is explore the distribution of your variables. You can plot histograms with geom_histogram() ggplot(penguins) + geom_histogram(mapping = aes(x = flipper_length_mm)) This tells us there may be a lot of variation in flipper size among species. We can use the ‘fill =’ argument to color the bars by species, and scale_fill_manual() to specify the colors. # Histogram example: flipper length by species ggplot(penguins) + geom_histogram(aes(x = flipper_length_mm, fill = species), alpha = 0.5, position = "identity") + scale_fill_manual(values = c("darkorange","darkorchid","cyan4")) Cool, now we can see there seems to be some pretty clear variation in flipper size among species. Another way to visualize across groups is with facet_wrap(), which will create a separate plot for each group, in this case species. ggplot(penguins) + geom_histogram(aes(x = flipper_length_mm, fill = species), alpha = 0.5, position = "identity") + scale_fill_manual(values = c("darkorange","darkorchid","cyan4")) + facet_wrap(~species) Compare sample sizes with geom_bar() Let’s use ggplot to see sample size for each species on each island. ggplot(penguins) + geom_bar(mapping = aes(x = island, fill = species)) As you may have already noticed, the beauty about ggplot2 is there are a million ways you can customize your plots. This example builds on our simple bar plot: ggplot(penguins, aes(x = island, fill = species)) + geom_bar(alpha = 0.8) + scale_fill_manual(values = c("darkorange","purple","cyan4"), guide = FALSE) + theme_minimal() + facet_wrap(~species, ncol = 1) + coord_flip() This is important information, since we know now that not all species were sampled on every island, which will have complications for any comparisons we may want to make among islands. Visualize variable relationships with geom_point() We can use geom_point() to view the relationship between two continuous variables by specifying the x and y axes. Say we want to visualize the relationship between penguin body mass and flipper length and color the points by species: ggplot(penguins) + geom_point(mapping = aes(x = body_mass_g, y = flipper_length_mm, color = species)) 4.4 Exercises Please include the line(s) of code you used to create your figure and make sure the figure is shown in the rendered report. Using the visualization techniques you learned today, create a figure that allows you to visualize some comparison of your choice among the penguins data set. Below your figure write a testable hypothesis about the data and the patterns you see from this figure. (5 pts.) "],["data-visualization-in-r.html", " 5 Data Visualization in R 5.1 Publication Ready Figures with ggplot2 5.2 The Assignment", " 5 Data Visualization in R This lesson will go a little deeper into data visualization and how to customize figures and tables and make them ‘publication ready’. First, set up your session by executing your set up script we created in Lesson 1. Note: There are some new packages we will use below. For simplicity, you can add them to your setup.R script by tacking them on to the packages <- c() list. The new packages are: ggthemes RColorBrewer viridis ggdark plotly source("setup.R") 5.0.1 Data Preparation For today’s lesson we are going to be working with some census data for Larimer County, CO. This data can be found on Canvas in .csv format titled larimer_census.csv. Download that file and put it in a data/ folder in the your R Project. After that, read the .csv into your R session using read_csv(): census_data <- read_csv("data/larimer_census.csv") Inspect census_data and the structure of the data frame. This data contains information on median income, median age, and race and ethnicity for each census tract in Larimer County. Note: This census data for Larimer county was retrieved entirely in R using the tidycensus package. If you are interested in how I did this, I’ve uploaded the script to do so on Canvas titled ‘getCensusData.R’. Note that you will need to retrieve your own census API key and paste it at the top of the script to run it (API keys are free and easy to get here). To learn more about tidycensus, check out Analyzing U.S. Census Data by Kyle Walker. 5.1 Publication Ready Figures with ggplot2 For this exercise you will learn how to spruce up your ggplot2 figures with theme customization, annotation, color palettes, and more. To demonstrate some of these advanced visualization techniques, we will be analyzing the relationships among some census data for Larimer county. Let’s start with this basic plot: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(color = "black") And by the end of this lesson turn it into this: 5.1.1 General Appearance 5.1.1.1 Customize points within geom_point() color or size points by a variable or apply a specific color/number change the transparency with alpha (ranges from 0-1) #specific color and size value census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(color = "red", size = 4, alpha = 0.5) When sizing or coloring points by a variable in the dataset, it goes within aes(): # size by a variable census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(aes(size = median_income), color = "red") # color by a variable census_data %>% ggplot(aes(x = median_age, y = percent_bipoc))+ geom_point(aes(color = median_income), size = 4) 5.1.1.2 Titles and limits add title with ggtitle edit axis labels with xlab() and ylab() change axis limits with xlim() and ylim() census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black")+ ggtitle("Census Tract socioeconomic data for Larimer County")+ xlab("Median Age")+ ylab("People of Color (%)")+ xlim(c(20, 70))+ ylim(c(0, 35)) Be cautious of setting the axis limits however, as you notice it omits the full dataset which could lead to dangerous misinterpretations of the data. You can also put multiple label arguments within labs() like this: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black")+ labs( title = "Census Tract socioeconomic data for Larimer County", x = "Median Age", y = "People of Color (%)" ) + xlim(c(20, 70))+ ylim(c(0, 35)) 5.1.1.3 Chart components with theme() All ggplot2 components can be customized within the theme() function. The full list of editable components (there’s a lot!) can be found here. Note that the functions used within theme() depend on the type of components, such as element_text() for text, element_line() for lines, etc. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)") + theme( #edit plot title plot.title = element_text(size = 16, color = "blue"), # edit x axis title axis.title.x = element_text(face = "italic", color = "orange"), # edit y axis ticks axis.text.y = element_text(face = "bold"), # edit grid lines panel.grid.major = element_line(color = "black"), ) Another change you may want to make is the value breaks in the axis labels (i.e., what values are shown on the axis). To customize that for a continuous variable you can use scale_x_continuous() / scale_y_continuous (for discrete variables use scale_x_discrete ). In this example we will also add angle = to our axis text to angle the labels so they are not too jumbled: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)") + scale_x_continuous(breaks = seq(15, 90, 5))+ theme( # angle axis labels axis.text.x = element_text(angle = 45) ) While these edits aren’t necessarily pretty, we are just demonstrating how you would edit specific components of your charts. To edit overall aesthetics of your plots you can change the theme. 5.1.1.4 Themes ggplot2 comes with many built in theme options (see the complete list here). For example, see what theme_minimal() and theme_classic() look like: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ theme_minimal() census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ theme_classic() You can also import many different themes by installing certain packages. A popular one is ggthemes. A complete list of themes with this package can be seen here If you did not add this to your setup.R script yet, to run this example, first install the ggthemes package and then load it in to your session: Note: you should NOT include any install.packages() lines of code in your .Rmd when you try to knit, it will likely throw an error. Remember you only need to use install.packages() once. install.packages("ggthemes") library(ggthemes) Now explore a few themes, such as theme_wsj, which uses the Wall Street Journal theme, and theme_economist and theme_economist_white to use themes used by the Economist. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ ggthemes::theme_wsj()+ # make the text smaller theme(text = element_text(size = 8)) Note you may need to click ‘Zoom’ in the Plot window to view the figure better. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ ggthemes::theme_economist() Some themes may look messy out of the box, but you can apply any elements from theme() afterwards to clean it up. For example, change the legend position: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income), color = "black") + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ ggthemes::theme_economist()+ theme( legend.position = "bottom" ) 5.1.2 Color, Size and Legends 5.1.2.1 Color To specify a single color, the most common way is to specify the name (e.g., \"red\") or the Hex code (e.g., \"#69b3a2\"). You can also specify an entire color palette. Some of the most common packages to work with color palettes in R are RColorBrewer and viridis. Viridis is designed to be color-blind friendly, and RColorBrewer has a web application where you can explore your data requirements and preview various palettes. First, if you want to run these examples install and load the RColorBrewer and viridis packages: install.packages("RColorBrewer") install.packages("viridis") library(RColorBrewer) library(viridis) Now, lets color our points using the palettes in viridis. To customize continuous color scales with viridis we use scale_color_viridis(). census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ viridis::scale_colour_viridis() Second, let’s see how to do that with an RColorBrewer palette, using the ‘Greens’ palette and scale_color_distiller() function. We add direction = 1 to make it so that darker green is associated with higher values for income. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "Greens", direction = 1) 5.1.2.2 Size You can edit the range of the point radius with scale_radius : census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "Greens", direction = 1)+ scale_radius(range = c(0.5, 6)) 5.1.2.3 Legends In the previous plots we notice that two separate legends are created for size and color. To create one legend where the circles are colored, we use guides() like this, specifying the same title for color and size: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "BuGn", direction = 1)+ scale_radius(range = c(2, 6))+ theme_minimal()+ #customize legend guides(color= guide_legend(title = "Median Income"), size=guide_legend(title = "Median Income")) 5.1.3 Annotation Annotation is the process of adding text, or ‘notes’ to your charts. Say we wanted to highlight some details to specific points in our data, for example some of the outliers. When investigating the outlying point with the highest median age and high percentage of people of color, it turns out that census tract includes Rocky Mountain National Park and the surrounding area, and also the total population of that tract is only 53. Lets add these details to our chart with annotate(). This function requires several arguments: geom: type of annotation, most often text x: position on the x axis to put the annotation y: position on the y axis to put the annotation label: what you want the annotation to say Optional: color, size, angle, and more. census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)")+ scale_color_distiller(palette = "BuGn", direction = 1)+ scale_radius(range = c(2, 6))+ theme_minimal()+ guides(color= guide_legend(title = "Median Income"), size=guide_legend(title = "Median Income"))+ # add annotation annotate(geom = "text", x=76, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53") We can also add an arrow to point at the data point the annotation is referring to with geom_curve and a few other arguments like so: census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income)) + ggtitle("Census Tract socioeconomic data for Larimer County") + xlab("Median Age") + ylab("People of Color (%)") + scale_color_distiller(palette = "BuGn", direction = 1) + scale_radius(range = c(2, 6)) + theme_minimal() + guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + annotate(geom = "text", x = 74, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53") + # add arrow geom_curve( aes( x = 82, xend = 88, y = 60, yend = 57.5 ), arrow = arrow(length = unit(0.2, "cm")), size = 0.5, curvature = -0.3 ) Note that with annotations you may need to mess around with the x and y positions to get it just right. Also, the preview you see in the ‘plot’ window may look jumbled and viewing it by clicking ‘Zoom’ can help. 5.1.4 Finalize and save We are almost done with this figure. I am going to add/change a few more elements below. Feel free to add your own! census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income), alpha = 0.9) + labs( title = "Socioeconomic data for Larimer County", subtitle = "Median age, median income, and percentage of people of color for each census tract", x = "Median Age", y = "People of Color (%)", caption = "Data obtained from the U.S. Census 5-year American Community Survey Samples for 2017-2021" )+ scale_radius(range = c(2, 6)) + theme_classic() + scale_color_viridis() + #use the Viridis palette guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + theme( axis.title = element_text(face = "bold", size = 10), plot.title = element_text(face = "bold",size = 15, margin = unit(c(1,1,1,1), "cm")), plot.subtitle = element_text(size = 10, margin = unit(c(-0.5,0.5,0.5,0.5), "cm")), plot.caption = element_text(face = "italic", hjust = -0.2), plot.title.position = "plot", #sets the title to the left legend.position = "bottom", legend.text = element_text(size = 8) ) + annotate(geom = "text", x = 74, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53", size = 3, color = "black") + geom_curve( aes( x = 82, xend = 88, y = 60, yend = 57.5 ), arrow = arrow(length = unit(0.2, "cm")), size = 0.5, color = "black", curvature = -0.3 ) Want to make it dark theme? ggdark is a fun package to easily convert your figures to various dark themes. If you want to test it out, install the package and try dark_theme_classic() instead of theme_classic() in the previous figure: install.packages("ggdark") library(ggdark) census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income), alpha = 0.9) + labs( title = "Socioeconomic data for Larimer County", subtitle = "Median age, median income, and percentage of people of color for each census tract", x = "Median Age", y = "People of Color (%)", caption = "Data obtained from the U.S. Census 5-year American Community Survey Samples for 2017-2021" )+ scale_radius(range = c(2, 6)) + dark_theme_classic() + scale_color_viridis() + #use the Viridis palette guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + theme( axis.title = element_text(face = "bold", size = 10), plot.title = element_text(face = "bold",size = 15, margin = unit(c(1,1,1,1), "cm")), plot.subtitle = element_text(size = 10, margin = unit(c(-0.5,0.5,0.5,0.5), "cm")), plot.caption = element_text(face = "italic", hjust = -0.2), plot.title.position = "plot", #sets the title to the left legend.position = "bottom", legend.text = element_text(size = 8) ) + annotate(geom = "text", x = 74, y = 62, label = "Rocky Mountain National Park region \\n Total Populaion: 53", size = 3) + geom_curve( aes( x = 82, xend = 88, y = 60, yend = 57.5 ), arrow = arrow(length = unit(0.2, "cm")), size = 0.5, curvature = -0.3 ) Saving with ggsave You can save your plot in the “Plots” pane by clicking “Export”, or you can also do it programmatically with ggsave(), which also lets you customize the output file a little more. Note that you can give the argument a variable name of a ggplot object, or by default it will save the last plot in the “Plots” pane. #specify the file path and name, and height/width (if necessary) ggsave(filename = "data/census_plot.png", width = 6, height = 5, units = "in") 5.1.4.1 Want to make it interactive? The plotly package and the ggplotly() function lets you make your charts interactive. install.packages("plotly") library(plotly) We can put our entire ggplot code above inside ggplotly() below to make it interactive: ggplotly(census_data %>% ggplot(aes(x = median_age, y = percent_bipoc)) + geom_point(aes(size = median_income, color = median_income), alpha = 0.9) + labs( title = "Socioeconomic data for Larimer County", subtitle = "Median age, median income, and percentage of people of color for each census tract", x = "Median Age", y = "People of Color (%)", caption = "Data obtained from the U.S. Census 5-year American Community Survey Samples for 2017-2021" )+ scale_radius(range = c(2, 6)) + #dark_theme_classic() + scale_color_viridis() + #use the Viridis palette guides(color = guide_legend(title = "Median Income"), size = guide_legend(title = "Median Income")) + theme( axis.title = element_text(face = "bold", size = 10), plot.title = element_text(face = "bold",size = 15, margin = unit(c(1,1,1,1), "cm")), plot.subtitle = element_text(size = 10, margin = unit(c(-0.5,0.5,0.5,0.5), "cm")), plot.caption = element_text(face = "italic", hjust = -0.2), plot.title.position = "plot", #sets the title to the left legend.position = "bottom", legend.text = element_text(size = 8) )) Note that we removed the annotations as plotly doesn’t yet support them. 5.2 The Assignment This week’s assignment is to use anything you’ve learned today, in previous lessons and additional resources (if you want) to make two plots. One ‘good plot’ and one ‘bad plot’. Essentially you will first make a good plot, and then break all the rules of data viz and ruin it. For the bad plot you must specify two things that are wrong with it (e.g., it is not color-blind friendly, jumbled labels, wrong plot for the job, poor legend or axis descriptions, etc.) Be as ‘poorly’ creative as you want! Check out this thread by Dr. Nyssa Silbiger and this thread by Dr. Drew Steen for some bad plot examples, which were both the inspiration for this assignment. You can create these plots with any data (e.g., the census data from today, the penguins data past lessons, or new ones!), the good (and bad) visualization just has to be something we have not made in class before. To submit the assignment, create an R Markdown document that includes reading in of the data and libraries, and the code to make the good figure and the bad figure. You will render your assignment to Word or HTML (and make sure both code and plots are shown in the output), and don’t forget to add the two reasons (minimum) your bad figure is ‘bad’. You will then submit this rendered document on Canvas. (20 pts. total) Note: the class will vote on the worst bad plot and the winners will receive extra credit! First place will receive 5 points, second place 3 points and third place 1 point of extra credit. 5.2.1 Acknowledgements and Resources The ggplot2 content in this lesson was created with the help of Advanced data visualization with R and ggplot2 by Yan Holtz. For more information on working with census data in R check out Analyzing US Census Data by Kyle Walker (which includes a visualization chapter). "],["data-analysis-t-test-and-anova.html", " 6 Data Analysis: T-test and ANOVA 6.1 Explore the dataset 6.2 t-test - Compare two means 6.3 ANOVA test - compare more than two means 6.4 Exercises", " 6 Data Analysis: T-test and ANOVA In this lesson you will be introduced to the process of conducting statistical tests in R, specifically t-tests and ANOVA tests for working with categorical predictor variables. Need a refresher on stats fundamentals? We highly suggest watching this 20-minute video that goes over hypothesis testing, defining significance/p-values, and common statistical testing assumptions. To access the dataset(s) you will be using in this lesson, we will be using a new data package called {lterdatasampler}. This package contains subsets of data from various Long Term Ecological Research (LTER) sites, designed for use in R teaching and training activities. We we also need the {rstatix} package, which allows us to conduct various statistical tests that are ‘tidyverse’ friendly (aka, we can use them with the pipe %>%). So since these are new packages, we need to install them first: install.packages("lterdatasampler") install.packages("rstatix") Now load in the three libraries/packages needed for this lesson (OR, add lterdatasampler and car to your ‘setup.R’ script if you have been setting up your environment that way). library(tidyverse) library(lterdatasampler) library(rstatix) 6.1 Explore the dataset We will be using the and_vertebrates dataset for this lesson. Do a little exploration of this data first to understand its structure, variables and data types: # View the data structure glimpse(and_vertebrates) # Explore the metadata in the Help pane ?and_vertebrates This data set contains length and weight observations for three aquatic species in clear cut and old growth coniferous forest sections of Mack Creek in HJ Andrews Experimental Forest in Oregon. The three species are Cutthroat trout, Coastal giant salamander and Cascade torrent salamander. 6.2 t-test - Compare two means Previous work has shown that forest harvesting can impact aquatic vertebrate biomass (Kaylor & Warren 2017). With this and_vertebrates data set we can investigate this hypothesis, by comparing weight to forest type (clear cut or old growth). This therefore involves a test comparing the means (average weight) among two groups (clear cut and old growth forests), which then requires a t-test. Lets focus on conducting this test for just Cutthroat trout to reduce species-level variances in weight. Before conducting analyses, we need to clean our dataset. The steps below will filter our data to just include the trout species, and remove any NA values of weight with the drop_na() function: #create a new variable for downstream analysis trout_clean <- and_vertebrates %>% #filter species (remember spelling and capitalization are IMPORTANT) filter(species == "Cutthroat trout") %>% # remove NA values for weight drop_na(weight_g) Before conducting any analsys, we may want to visualize the relationship between forest type and weight, which we can do with a boxplot given we have a categorical predicator variable (forest type, aka section) and a continuous response variable (weight_g). trout_clean %>% ggplot(aes(x = section, y = weight_g)) + geom_boxplot() We don’t see too much of a difference based on this visual, but lets conduct the statistical test to verify if our hypothesis is supported. 6.2.1 Assumptions First however we need to check our test assumptions, which for t-tests assumes the variance of the groups is equal. We can test for equal variances with the function levene_test(), which performs a Levene’s test for homogeneity of variance across groups where the null hypothesis is that the variances are equal. In this function we specify the continuous, dependent variable (weight_g) and the predictor variable we want to test for variances between groups (section). We write this as a formula using ~ , which reads ’test is weight varies by forest section`. trout_clean %>% levene_test(weight_g ~ section) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 1 12592 42.5 7.28e-11 Looks like our variances are not equal, since the null hypothesis of the variance test is that they are equal and we have a (very) significant p-value. We have two options now, 1) we can transform our weight variable or 2) use the non-parametric Welch t-test which does not assume equal variances. 6.2.1.1 Variable transformation If we look at the distribution of weight (our continuous variable), it is pretty right skewed. Therefore, we’d likely want to do a log transformation on the data, which works well the data is skewed like this: hist(trout_clean$weight_g) Lets perform the variances check like we did before, but on the log transformed values, which you can do with log() , and we can nest the functions so we only use one line of code like this: trout_clean %>% levene_test(log(weight_g) ~ section) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 1 12592 0.468 0.494 Now we have a high, insignificant p-value, indicating support for the null that the variances are equal. So. we can use the default t_test() test which assumes equal variances, but on a log transformed weight variable. For the t_test() function, it needs column names and we cannot nest a column name within a function like log(). Therefore we will need to use mutate() to create a new column for our log transformed weight variable. The order of the variables in the t_test() function is {dependent variable} ~ {independent variable}. We use the ~ to specify a model/formula, similar to that of the levene_test(), telling the test we want to know if weight varies by forest section. We also set var.equal = TRUE to specify we know our groups have equal variances and detailed=TRUE to return the detailed results including group means (aka estimates). trout_clean %>% mutate(weight_log = log(weight_g)) %>% t_test(weight_log ~ section, var.equal = TRUE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 0.131 1.52 1.39 weight_log CC OG 6798 5796 5.49 4.06e-8 12592 0.0839 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> The output of this test gives us the test statistics, p-value, and the means for each of our forest groups (estimate1 and estimate2, corresponding to group1 and group2). Given the extremely small p-value and the means of each group, we can conclude that Cutthroat trout weight was observed to be significantly higher in clear cut forests compared to old growth forests. Remember though that now these mean weight values are log transformed, and not the raw weight in grams. The relationship can still be interpreted the same. How does this relate to our original hypothesis? Welch Two Sample t-test Alternatively, instead of transforming our variable we can actually change the default t_test() argument by specifying var.equal = FALSE, which will then conduct a Welch t-test, which does not assume equal variances among groups. trout_clean %>% t_test(weight_g ~ section, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 1.17 9.38 8.21 weight_g CC OG 6798 5796 6.69 2.26e-11 12588. 0.825 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> While we used a slightly different method, our conclusions are still the same, finding that Cutthroat trout had significantly higher weights in clear cut forests than old growth. 6.3 ANOVA test - compare more than two means We found a significant difference in weight among forest types, but how about channel types? The unittype variable is categorical like section was, but here we have more than two categories. With more than two categories we use an ANOVA test instead of a t-test to assess significant differences in some continuous variable among groups. Since we found significant size differences between forest types, for the next analysis let’s just compare weight among channel types for one type of forest section to remove effects of forest type. Let’s look at clear-cut forests where trout were found to be significantly larger: # create a new variable to use for downstream analysis trout_cc <- trout_clean %>% filter(section == "CC") Now lets first look at the distribution of trout samples among different channel types in our new filtered dataset: trout_cc %>% group_by(unittype) %>% count() ## # A tibble: 6 × 2 ## # Groups: unittype [6] ## unittype n ## <chr> <int> ## 1 C 3911 ## 2 P 1400 ## 3 R 97 ## 4 S 7 ## 5 SC 1000 ## 6 <NA> 383 We see there are quite a few samples with missing information for channel type. Also, there are some groups that have relatively low sample size. For the sake of this lesson, lets just keep the three most abundant channel types, i.e. C (cascade), P (pool), and SC (side channel). # override our trout_cc variale with our groups of interest trout_cc <- trout_cc %>% # note this line of code is the same as doing filter(!is.na(unittype)) drop_na(unittype) %>% filter(unittype %in% c("C", "P", "SC")) 6.3.1 Assumptions Normality ANOVA assumes normal distributions within each group. Here our group sample sizes are >30 each which can be considered as large enough to not worry about this assumption. In fact the Shapiro-Wilk test won’t even operate if your group sizes are greater than 5,000. But, we can use the shapiro_test() function along with group_by() to test for normality within each channel group. trout_cc %>% group_by(unittype) %>% shapiro_test(weight_g) ## # A tibble: 3 × 4 ## unittype variable statistic p ## <chr> <chr> <dbl> <dbl> ## 1 C weight_g 0.794 3.48e-57 ## 2 P weight_g 0.847 1.01e-34 ## 3 SC weight_g 0.632 8.64e-42 Since the null hypothesis of the Shapiro-Wilk test is that the data is normally distributed, these results tell us all groups do not fit a normal distribution for weight. Equal Variances To test for equal variances among more than two groups, it is easiest to use a Levene’s Test like we did earlier: trout_cc %>% levene_test(weight_g ~ unittype) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 2 6308 126. 3.19e-54 Given this small we see that the variances of our groups are not equal. Therefore, after checking out assumptions we need to perform a non-parametric ANOVA test, the Kruskal-Wallis test. We can do this with the kruskal_test() function specifying a formula like we have for previous tests to see if weight varies by channel (aka unittype). trout_cc %>% kruskal_test(weight_g ~ unittype) ## # A tibble: 1 × 6 ## .y. n statistic df p method ## * <chr> <int> <dbl> <int> <dbl> <chr> ## 1 weight_g 6311 542. 2 2.05e-118 Kruskal-Wallis Our results here are highly significant, meaning that at least one of our groups means is significantly different from the others. Let’s visualize the spread of weight among each group, looking at group summaries with a geom_boxplot() and group weight distributions with geom_histogram() and facet_wrap() trout_cc %>% ggplot(aes(x = unittype, y = weight_g, color = unittype)) + geom_boxplot() trout_cc %>% # since we are making a histogram only need an 'x' variable ggplot(aes(x = weight_g)) + geom_histogram() + # separate plot by unittype facet_wrap(~unittype, ncol = 1) 6.3.1.1 Post-Hoc Analysis Now ANOVAs don’t tell us which groups are significantly different, for that we would need to use a post-hoc test. Since we used the non-parametric Kruskal-Wallace test, we can use the associated Dunn’s test for multiple comparisons to assess significant differences among each pair of groups. Note, if your data fits the ANOVA assumptions you would use the anova_test() function instead, and tukey_hsd() as the associated post-hoc test. trout_cc %>% dunn_test(weight_g ~ unittype) ## # A tibble: 3 × 9 ## .y. group1 group2 n1 n2 statistic p p.adj p.adj.signif ## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <chr> ## 1 weight_g C P 3911 1400 15.2 5.05e- 52 1.01e- 51 **** ## 2 weight_g C SC 3911 1000 -13.7 1.83e- 42 1.83e- 42 **** ## 3 weight_g P SC 1400 1000 -23.1 4.18e-118 1.25e-117 **** This result shows us an adjusted p-value (for multiple comparisons) for each combination of groups, where a significant value represents a significant difference in weight between those two channel types. Our results here show that all channel types are significantly different in trout weight. 6.4 Exercises Each question requires you to carry out a statistical analysis to test some hypothesis related to the and_vertebrates data set. To answer each question fully: Include the code you used to clean the data and conduct the appropriate statistical test. (Including the steps to assess and address your statistical test assumptions). Report the findings of your test. Include an appropriate figure showing the patterns in the data associated with the test. 1. Conduct a t-test similar to the one we carried out earlier in this lesson plan, but test for a difference in snout-vent length (length_1_mm) between forest types (section) for the Coastal giant salamander. (10 pts.) 2. Conduct an ANOVA test to test for differences in snout-vent length between channel types (unittype, only using C, P and SC channel types) for the Coastal Giant salamander. Remember to check your test assumptions and use the appropriate test based on your findings. You must also conduct the associated post-hoc test and report which groups are significantly difference from each other (if any) (10 pts.) 6.4.1 Acknowledgements Thanks to the developers of lterdatasampler for providing the data set and vignettes that helped guide the creation of this lesson plan. 6.4.2 Citations Data Source: Gregory, S.V. and I. Arismendi. 2020. Aquatic Vertebrate Population Study in Mack Creek, Andrews Experimental Forest, 1987 to present ver 14. Environmental Data Initiative. https://doi.org/10.6073/pasta/7c78d662e847cdbe33584add8f809165 Kaylor, M.J. and D.R. Warren. 2017. Linking riparian shade and the legacies of forest management to fish and vertebrate biomass in forested streams. Ecosphere 8(6). https://doi.org/10.1002/ecs2.1845 "],["correlation-and-simple-linear-regression.html", " 7 Correlation and Simple Linear Regression 7.1 Correlation with salamanders 7.2 Simple linear regression with crabs 7.3 Exercises 7.4 Citations", " 7 Correlation and Simple Linear Regression Before running the set up script, if you have not already, add the \"lubridate\" package to your packages list in the setup.R script. source("setup.R") 7.1 Correlation with salamanders Correlation measures the strength and direction of a relationship between two continuous variables. The key result of a correlation test, the correlation coefficient (r), ranges from -1 to +1, with 0 indicating no linear relationship, -1 a perfect negative relationship and 1 indicating a perfect positive relationship. We will use the and_vertebrates data set to demonstrate the correlation test; we can test our length and weight continuous variables to see if “long” salamanders also weigh more. First, we’ll need to clean our data set to just include salamanders, and remove missing values for length and weight. Let’s focus on the variable length_2_mm for snout-to-tail length. data("and_vertebrates") sal <- and_vertebrates %>% # find observations that contain the string "salamander" in the species column: filter(grepl("salamander", species)) %>% drop_na(length_2_mm, weight_g) 7.1.0.1 EDA Before diving in, let’s visually explore the relationship between our two variables with a scatter plot: ggplot(data = sal) + geom_point(aes(x = length_2_mm, y = weight_g), color = "black") + theme_bw() From our plot, we see that there is indeed a pretty visible relationship between a salamander’s weight and length. In other words, a salamander’s weight and length seem to be positively correlated: as length increases, weight also increases, and vice versa. 7.1.0.1.1 Parametric vs. non-parameteric correlation tests Whether we use a parametric or non-parametric correlation test depends on 1) whether our two variables exhibit a visually linear relationship and 2) whether they follow normal distributions. Looking at our plot above, we can see that their relationship does not appear linear. Let’s also check what the distributions of our variables look like: hist(sal$length_2_mm) # slightly skewed.. hist(sal$weight_g) # def non normal distribution They both look pretty skewed, therefore likely not normally distributed. We can statistically test if a variable fits a normal distribution with the shapiro.test() function. However, this function only runs for 5000 observations or less. Therefore, we will need to test for normality on a random subset of our full data set: sal_sub <- sal %>% slice_sample(n = 5000) shapiro.test(sal_sub$length_2_mm) ## ## Shapiro-Wilk normality test ## ## data: sal_sub$length_2_mm ## W = 0.93584, p-value < 2.2e-16 shapiro.test(sal_sub$weight_g) ## ## Shapiro-Wilk normality test ## ## data: sal_sub$weight_g ## W = 0.5666, p-value < 2.2e-16 The null hypothesis of the Shapiro-Wilk normality test is that the variable is normally distributed, so a p-value less than 0.05, at 95% confidence (as we see for both of our variables here) tells use that our data does not fit a normal distribution. Therefore we have two options as we did with our t-test example in the previous lesson: transform the variables and see if that helps, or use a non-parametric test. Here, we will go ahead with the non-parametric Spearman correlation test. When two continuous variables are normally distributed and appear to have a linear relationship, one should use the Pearson correlation test. 7.1.0.2 Correlation test in R In R, we can perform this correlation test using the {rstatix}’s cor_test() function: cor_test(sal, vars = c(length_2_mm, weight_g), # vector of continuous vars we want to test alternative = "two.sided", # we want to test both positive and negative corr. method = "spearman") # spearman is for non-parametric corr. method ## # A tibble: 1 × 6 ## var1 var2 cor statistic p method ## <chr> <chr> <dbl> <dbl> <dbl> <chr> ## 1 length_2_mm weight_g 0.98 820565131. 0 Spearman cor is the correlation coefficient, r. In this example it is positive, indicating that there is a positive correlation between weight and length. Remember that r can only range from -1 to +1. So, a value of 0.98 indicates a very strong relationship. statistic is the test statistic (t) which is calculated using r and the number of observations in the test. p is the p-value. Here, it is calculated using the confidence level and the test statistic. 7.1.0.3 Correlation limitations Using a correlation test, we identified that a salamander’s weight and its length have a positive relationship. But, our conclusions have to stop there: all we can deduce from a correlation test is whether or not a relationship exists. There is no information about which one leads to the other (i.e., causality), and there is no information about how we might be able to predict one from the other. 7.2 Simple linear regression with crabs In the summer of 2016, researchers surveyed fiddler crabs for their size across the Atlantic coast - from Florida to Massachusetts. Additional information about where the crabs lived (including coordinates, air, and water temperature) was also provided. Because we have size data across multiple climates, this study provides an excellent data set to test Bergmann’s rule. With this data set, we can broadly assume that the further north we go, the colder the climate. Therefore, let’s use latitude as our variable to represent “coldness”, with an increase in latitude representing cooler climate conditions, to explore the relationship between crab size and climate. Taking correlation a step further, simple linear regression allows us to describe the relationship between two continuous, linearly-related variables. This description comes in the form of an equation that produces a line of best fit through our variables plotted against each other. Using that line, we can then predict a new crab’s size based on its location, and vice versa. But first we must define which variable leads to the other’s change, something we didn’t really need to think about for correlation. Based on Bergmann’s rule, we know that the cooler climate leads to increased size, so our explanatory variable (x) will be latitude, and our response variable (y) will be crab size. There are a few ways to describe this relationship between latitude and size in the statistics lexicon: X Variable (Crab Latitude) Y Variable (Crab Size) Cause (what changes) Effect (outcome of that change) Independent Dependent Predictor Outcome Explanatory Response Load in the crab data from the lterdatasampler package: data("pie_crab") Let’s first visualize latitude vs. size with some histograms and a scatter plot. hist(pie_crab$latitude) hist(pie_crab$size) It is clear that crab data was surveyed at only a finite number of locations, which leads to a non-normal distribution. But that’s okay - linear regression does NOT require the variables to be normally distributed. However, the error of the data must be normally distributed around the linear line (more on error later). When plotting, it is important to have the predictor variable on the x-axis, and the response variable on the y-axis. Then, we can fit a linear regression line through this data so that the distance between the line and the most observations is at its lowest: ggplot(data = pie_crab, aes(x = latitude, y = size)) + geom_point(color = "black") + geom_smooth(method = "lm", se = FALSE) + theme_bw() Each observation’s vertical distance away from the line is the observation’s error. Getting the standard deviation of these distances gives us the line’s residual standard error. The intercept of this line, or the value of the line if we extended it out to meet the y-axis (i.e., where our crab size is zero), is also known as the line’s constant. Lastly, we have our slope of the line. This tells us how much a crab’s average size increases if we increase the latitude, and vice versa. When we put all of these pieces together, we get the following simple linear regression equation for each observation: size = slope of the line * latitude + constant + point’s distance from line … which we write statistically as: \\(y = (β1 * x) + β0 + ε\\) In this equation, y is a our response variable (crab’s size), β0 is the constant, β1 is the slope, x is our explanatory variable (the crab’s latitude), and ε is the distance between the line and each observation’s true size. 7.2.0.1 Simple linear regression in R In R, we can identify the values that go into delineating this line of best fit using the base R {stats} package’s lm() function (lm for linear model): # Simple linear regression model slr_model <- lm(size ~ latitude, data = pie_crab) # lm(response ~ predictor, data = dataset) summary(slr_model) ## ## Call: ## lm(formula = size ~ latitude, data = pie_crab) ## ## Residuals: ## Min 1Q Median 3Q Max ## -7.8376 -1.8797 0.1144 1.9484 6.9280 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -3.62442 1.27405 -2.845 0.00468 ** ## latitude 0.48512 0.03359 14.441 < 2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.832 on 390 degrees of freedom ## Multiple R-squared: 0.3484, Adjusted R-squared: 0.3467 ## F-statistic: 208.5 on 1 and 390 DF, p-value: < 2.2e-16 … where -3.62442 is our line’s intercept (β0), 0.48512 is our line’s slope (β1): \\(y = 0.48512x - 3.62442\\) In the model’s summary, our p-value is indicated in the Pr(>|t|) column for latitude: because our p-value is well below 0.05, we can deduce that latitude has a significant effect on crab size. Therefore, fiddler crabs appear to follow Bergmann’s rule: on average, crab size increased by 0.49 mm for every degree in latitude. 7.2.0.2 Predicting crab size With this linear equation, we can now predict crab size at different latitudes using the base R predict() function. Let’s predict crab size for latitudes of 32, 36, and 38 degrees. Note that we need to create these values as a new data frame with the same column name used in the data that the model was built off of (i.e., latitude): new_lat <- tibble(latitude = c(32, 36, 38)) predict(slr_model, newdata = new_lat) ## 1 2 3 ## 11.89939 13.83987 14.81010 7.3 Exercises For this week’s exercise, we will be using the ntl_airtemp and ntl_icecover data sets to explore the relationship between mean annual lake ice duration and mean winter air temperature at two nearby lakes in Wisconsin. ntl_airtemp contains daily estimates of the air temperature near the two lakes. ntl_icecover contains the duration of ice cover per year, per lake. data("ntl_airtemp") data("ntl_icecover") First, let’s get the average lake ice duration across years: avg_icecover <- ntl_icecover %>% # mutate within group by, and create a new variable for the WATER year (Oct - Sept). Water year is the FUTURE year so we do year + 1 group_by(wyear = year + 1) %>% summarize(mean_duration = mean(ice_duration, na.rm = TRUE)) Next, we will need to compute the mean winter (November-April) air temperature per water year to align with the data in avg_icecover. A water year is a 12-month period starting in October and ending in September, aligning with the winter season and thereby not splitting up the winter. Let’s first define each date’s water year using an if_else() statement and the month() function from the {lubridate} package: ntl_airtemp_wyear <- ntl_airtemp %>% mutate(wyear = if_else(month(sampledate) < 10, year, year+1)) Next, using ntl_airtemp_wyear, we can compute the average air temperature for the winter season per water year. ntl_winter_airtemp <- ntl_airtemp_wyear %>% filter(lubridate::month(sampledate) %in% c(11, 12, 1:4)) %>% # filter the months from Nov to April group_by(wyear) %>% summarize(mean_air_temp = mean(ave_air_temp_adjusted)) 1. Join your table of (water-)yearly average winter temperatures to our avg_icecover object. Save this new table as icecover_temp. (HINT: use a join() function to do this.) (3 pts.) 2. Visualize the data by plotting our variables against one another, and using histograms. Is their relationship linear? Are our variables normally distributed? (3 pts.) 3. Perform a correlation test on icecover_temp to see whether there is a significant relationship between mean ice duration and mean air temperature. If so, is the relationship positive or negative? What is the correlation coefficient? (4 pts.) 4. Develop a simple linear model to then predict the mean ice duration when mean winter temperatures are -2 degrees, 0 degrees, and 2 degrees. (4 pts.) 5. Plot the average air temperature against the average ice cover duration. Include our simple linear regression (i.e., the line of best fit) in the plot. (3 pts.) 6. What is the slope, intercept, and residual standard error of our simple linear regression? (3 pts.) 7.4 Citations Data Source: Anderson, L. and D. Robertson. 2020. Madison Wisconsin Daily Meteorological Data 1869 - current ver 32. Environmental Data Initiative. https://doi.org/10.6073/pasta/e3ff85971d817e9898bb8a83fb4c3a8b (Accessed 2021-03-08). Data Source: Johnson, D. 2019. Fiddler crab body size in salt marshes from Florida to Massachusetts, USA at PIE and VCR LTER and NOAA NERR sites during summer 2016. ver 1. Environmental Data Initiative. https://doi.org/10.6073/pasta/4c27d2e778d3325d3830a5142e3839bb (Accessed 2021-05-27). Data Source: Magnuson, J.J., S.R. Carpenter, and E.H. Stanley. 2021. North Temperate Lakes LTER: Ice Duration - Madison Lakes Area 1853 - current ver 35. Environmental Data Initiative. https://doi.org/10.6073/pasta/ab31f2489ee436beb73fc8f1d0213d97 (Accessed 2021-03-08). Magnuson, J.J. 2021. Seeing the invisible present and place: from years to centuries with lake ice from Wisconsin to the Northern Hemisphere. Chapter 9 (243- 277) in R. B. Waide and S. E. Kingsland [eds]. The Challenges of Long Term Ecological Research: A Historical Analysis. Springer, Archimedes Series #59. https://doi.org/10.1007/978-3-030-66933-1_9 (Accessed 2022-02-14). "],["multiple-linear-regression-mlr.html", " 8 Multiple Linear Regression (MLR) 8.1 MLR in R 8.2 Exercises 8.3 Citations", " 8 Multiple Linear Regression (MLR) Set up our session. At minimum, make sure you have tidyverse and lterdatasampler in your “setup.R” script. source("setup.R") Multiple linear regression is the most common form of linear regression analysis. As a predictive analysis, multiple linear regression is used to explain the relationship between one continuous dependent variable (or, the response variable) and two or more independent variables (or, the predictor variables). The independent variables can be continuous OR categorical. Unlike a simple linear regression, where we describe the relationship between X and Y (two dimensional) and can simply plot them against each other, we are now working with multiple X’s and Y - which is three-dimensional. Here we are using the pie_crab data set again to develop a multiple linear regression model to predict crab size with additional variables from the data set, latitude, air_temp, and water_temp. Let’s first plot each of our predictor variables’ linear relationship with our response variable, crab size: data(pie_crab) pie_crab_long <- pie_crab %>% select(size, latitude, air_temp, water_temp) %>% # select all but "size" to pivot_longer(cols = -size) ggplot(data = pie_crab_long, aes(x = size, y = value)) + geom_point(color = "black") + geom_smooth(method = "lm", se = FALSE) + facet_wrap(~name, scales = "free_y") + theme_bw() A multiple linear regression, at the location of each observation, incorporates each of our three variable’s simple linear relationships with crab size using the following equation: \\(y = β0 + (β1 * x1) + (β2 * x2) + (β3 * x3) + ε\\) In this equation, y is a our response variable, crab size, while each x represents one of our predictor variables. β0 represents the intercept; we can think of this as the value of y if all of our x’s were zero. Each β is called a partial regression coefficient; this is because we can think of each as the slope in the x’s dimension if all of our other x’s were held constant. Lastly, ε is the distance between our observation, and what our model predicts for it (i.e., observed - predicted). 8.1 MLR in R Running a multiple linear regression is very similar to the simple linear regression, but now we specify our multiple predictor variables by adding them together with a + sign (the order of our predictor variables does not matter). Here we are using the pie_crab data set again to develop a multiple linear regression model with additional variables from the data set: data(pie_crab) mlr_model <- lm(size ~ latitude + air_temp + water_temp, data = pie_crab) summary(mlr_model) ## ## Call: ## lm(formula = size ~ latitude + air_temp + water_temp, data = pie_crab) ## ## Residuals: ## Min 1Q Median 3Q Max ## -8.7099 -1.7195 -0.0602 1.7823 7.7271 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 77.7460 17.3477 4.482 9.76e-06 *** ## latitude -1.0587 0.3174 -3.336 0.000933 *** ## air_temp -2.4041 0.3844 -6.255 1.05e-09 *** ## water_temp 0.7563 0.1465 5.162 3.92e-07 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.677 on 388 degrees of freedom ## Multiple R-squared: 0.4206, Adjusted R-squared: 0.4161 ## F-statistic: 93.9 on 3 and 388 DF, p-value: < 2.2e-16 … where: 77.7460 is our line’s intercept (β0) -1.0587 is the slope in the latitude dimension, or the estimated change in crab size for a unit change in latitude among crabs living with the same air temperature and water temperature conditions. -2.4041 is the slope in the air temperature dimension, or the estimated change in crab size for a unit change in air temperature among crabs living with the same water temperature and latitude conditions. 0.7563 is the slope in the water temperature dimension, or the estimated change in crab size for a unit change in water temperature among crabs living with the same air temperature and latitude conditions. \\(y = -1.0587x1 -2.4041x2 + 0.7563x3 + 77.7460\\) In the model’s summary, our p-value is indicated in the Pr(>|t|) column for each variable: because our p-values are well below 0.01, we can deduce that each variable has a significant effect on crab size. Our multiple R-squared (R2) is the Pearson correlation between the observed and the fitted (i.e. predicted) values. We can interpret this as 42.06% of the variability in crab size is explained by the linear regression on water temperature, air temperature, and latitude. NOTE: R2 always increases when an additional predictor is added to a linear model. 8.1.1 Predicting crab size With this multiple linear equation, we can now predict crab size across different varieties of latitude, air temperature, and water temperature using the base R predict() function: new_data <- tibble(latitude = c(32, 36, 38), air_temp = c(20, 12, 9), water_temp = c(22, 14, 11)) predict(mlr_model, newdata = new_data) ## 1 2 3 ## 12.42241 21.37004 24.19604 8.1.2 MLR Assumptions An important aspect when building a multiple linear regression model is to make sure that the following key assumptions are met: All observations are independent of one another. There must be a linear relationship between the dependent and the independent variables. And: The variance of the residual errors is similar across the value of each independent variable. plot(mlr_model, which = 1) This “Residuals vs Fitted” (fitted meaning the predicted values) plot gives an indication if there are non-linear patterns. This is a bit subjective, but a good way of verifying that this assumption is met is by ensuring that no clear trend seems so exist. The residuals should also occupy equal space above and below the line, and along the length of the line. The residual error values are normally distributed. plot(mlr_model, which = 2) … also a bit subjective, but so long as the points on the Q-Q plot follow the dotted line, this assumption is fulfilled. The independent variables are not highly correlated with each other. Multicolinearity can lead to unreliable coefficient estimates, while adding more variables to the model will always increase the R2 value, reflecting a higher proportion of variance explained by the model that is unjust. pie_crab %>% select(latitude, air_temp, water_temp) %>% cor() ## latitude air_temp water_temp ## latitude 1.0000000 -0.9949715 -0.9571738 ## air_temp -0.9949715 1.0000000 0.9632287 ## water_temp -0.9571738 0.9632287 1.0000000 Normally, we should exclude variables that have a correlation coefficient greater than 0.7/-0.7. Alas, all of our variables are HIGHLY correlated with each other. Therefore, these predictors should not all be used in our model. Which is also to say… it is a good idea to check your predictor variables for colinearity before developing a model. 8.2 Exercises We are interested in developing a multiple linear regression model to predict mean annual stream flow across the Eastern US. For every state, we have a handful of watershed and site characteristic data associated with USGS stream gauging stations. Download the ‘usgs_gages’ folder on Canvas and store it in a ‘data’ folder in this assignment’s project directory. Here is a list of all of these files: data_files <- list.files('data/usgs_gages', full.names = TRUE, pattern = "*.csv") 1. Read in each of the data sets associated with the assignment and combine them into a single data set. (HINT: What does map_dfr() do)? 2.5 pts. 2. Using our combined data set, plot each variable against mean annual stream flow to identify variables that seem to have a linear relationship with stream flow. 5 pts. 3. Develop a multiple linear regression model using any combination of the variables in the data set. What is your R-squared value? Which of your variables (if any) are significant predictors of stream flow? 5 pts. 4. Check to see if your model meets the model assumptions required for MLR. 2.5 pts. 5. Use your model to predict mean annual stream flow for two new sets of predictor data. 2.5 pts. 6. If your model does not meet the model’s assumptions, what are some ways of manipulating the data set so that it might? (HINT: review chapter 6) 2.5 pts. 8.3 Citations Data Source: Johnson, D. 2019. Fiddler crab body size in salt marshes from Florida to Massachusetts, USA at PIE and VCR LTER and NOAA NERR sites during summer 2016. ver 1. Environmental Data Initiative. https://doi.org/10.6073/pasta/4c27d2e778d3325d3830a5142e3839bb (Accessed 2021-05-27). Johnson DS, Crowley C, Longmire K, Nelson J, Williams B, Wittyngham S. The fiddler crab, Minuca pugnax, follows Bergmann’s rule. Ecol Evol. 2019;00:1–9. https://doi.org/10.1002/ece3.5883 "],["power.html", " 9 Power 9.1 Assignment 9.2 Citations", " 9 Power Set up our session. At minimum, make sure you have tidyverse, lterdatasampler, palmerpenguins and rstatix in your “setup.R” script. source("setup.R") This week’s lesson is related to power in statistical analysis. 9.0.0.1 Recommended pre-work: Watch this video on statistical power: https://www.youtube.com/watch?v=Rsc5znwR5FA Review the following null hypotheses for all of the tests we have used to far: The null hypotheses for each test we have learned thus far: Levene test - Variances across groups are equal (homogeneity of variances). Shapiro-Wilk test - Data is drawn from a normal distribution. t-test - Means of the two groups are equal. ANOVA - Means of all groups are equal. Correlation - There is no correlation between the two variables. Simple linear regression - There is no linear relationship between the predictor and response variables. Multiple linear regression Overall model - All regression coefficients equal zero (i.e., there is no effect from predictors). Individual predictors - An individual regression coefficient equals zero (no effect for a specific predictor). Power in statistics is a measure of how effective a statistical test is at finding genuine trends/effects in your data. It tells you the likelihood that the test will correctly identify a real relationship or effect when one actually exists. In other words, power is the test’s ability to avoid missing important discoveries, an essential aspect of the reliability and accuracy of statistical analyses. Power can be influenced by the following factors: Sample size - Larger samples provide more power. Effect size - Larger or more dramatic effects are easier to detect. Power is also related to our p-values: if we want our test’s conclusions to hold greater significance, we require more power. Significance in statistics means how important or reliable a finding is. p-values help quantify this by telling us how likely it is that our results occurred by chance; smaller p-values indicate greater significance, suggesting that our findings are less likely due to chance. 9.0.1 Power in action Let’s perform a t-test analysis on our Palmer penguins data set, where we compare bill length across two penguins species, Gentoo and Adelie. data("penguins") # perform the t-test penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% # species must be re-formatted from a factor to a character (t-test doesn't like factors) mutate(species = as.character(species)) %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -8.71 38.8 47.5 bill_length… Adelie Gentoo 151 123 -24.7 3.09e-68 243. -9.41 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> 9.0.1.1 Sample size In our analysis above, we find that bill length is observed to be significantly higher (p-value < 0.05) in Gentoo penguins when compared to Adelie penguins. But, what if we didn’t have as many observations to perform our test on? Let’s cut our data set down to just two observations per species: penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% mutate(species = as.character(species)) %>% drop_na(bill_length_mm) %>% group_by(species) %>% slice_sample(n = 2) %>% # we need to upgroup our data frame for statistical tests ungroup() %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -8.65 39.6 48.3 bill_length_mm Adelie Gentoo 2 2 -4.20 0.0884 1.45 -21.7 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> Compared to the p-value in the previous test, this p-value is much larger and, depending on which random samples were chosen in slice_sample, likely higher than our cut-off of 0.05 and would lead to an insignificant difference in bill length between the two species. Therefore, as sample size decreases, so does our power in identifying true trends. 9.0.1.2 Magnitude of effect Let’s look at a histogram of our bill lengths across our two penguin species. Note the last two lines of code I am adding a vertical line at the mean of each group, which we got from the output of the t-test. penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.50) + geom_vline(xintercept = 38.8, col = "black") + geom_vline(xintercept = 47.5, col = "black") In the grand scheme of things the difference between these two populations is relatively small in magnitude: their histograms overlap, indicating that some penguins in both species often have similar bill lengths. But, what if the bills of all of the Gentoo penguins magically grew an extra 15 mm? penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% #for all Gentoo species increase bill length by 15 mm mutate(bill_length_mm = if_else(species == "Gentoo", bill_length_mm + 15, bill_length_mm)) %>% ggplot() + geom_histogram(aes(x = bill_length_mm, fill = species), alpha = 0.56) + geom_vline(xintercept = 38.8, col = "black") + geom_vline(xintercept = 62.5, col = "black") # I found this from the new mutated values separately And now perform the t-test on this new magical data: penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% # still need to convert species to a character for the t_test function mutate(species = as.character(species)) %>% drop_na(bill_length_mm) %>% #if species == Gentoo, add 15 to bill length.. mutate(bill_length_mm = if_else(species == "Gentoo", bill_length_mm + 15, # otherwise, keep it as is. bill_length_mm)) %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -23.7 38.8 62.5 bill_lengt… Adelie Gentoo 151 123 -67.3 6.46e-159 243. -24.4 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> … when the magnitude of the difference between our observations in our groups increases, our p-value decreases. And, when you have a greater difference between populations, the number of observations required to identify significant differences generally does not have to be so high. Lets run the above code again but keep just two observations from each group and note the p-value: penguins %>% filter(species %in% c("Adelie", "Gentoo")) %>% mutate(species = as.character(species)) %>% mutate(bill_length_mm = ifelse(species == "Gentoo", bill_length_mm + 15, bill_length_mm)) %>% # remove NA values for weight drop_na(bill_length_mm) %>% group_by(species) %>% # select 2 random observations from each species: slice_sample(n = 2) %>% ungroup() %>% t_test(bill_length_mm ~ species, var.equal = FALSE, detailed = TRUE) ## # A tibble: 1 × 15 ## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low ## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> ## 1 -19.8 40.4 60.1 bill_length_mm Adelie Gentoo 2 2 -15.2 0.0125 1.51 -27.5 ## # ℹ 3 more variables: conf.high <dbl>, method <chr>, alternative <chr> 9.0.2 Note about random selection If you are playing around with this code on your own, you may notice that the results of each test look different than what’s written in the lesson plan: this is because we are randomly selecting a subset from our penguins populations with the slice_sample() function. In fact, you may have encountered p-values that lead to different conclusions for you (especially those with low sample sizes). The way we select samples from a population significantly impacts our statistical results and the statistical power of our tests. If our samples are representative of the population and sufficiently large, our findings are more likely to accurately reflect reality. However, if our samples are small or not truly representative, our results may be less reliable, and our tests may lack the ability to detect real effects. 9.1 Assignment Let’s re-explore the difference in weight of cutthroat trout in clear cut (CC) and old growth (OG) forest types from our T-test and ANOVA lesson. We want to see how sample size affects our ability to detect this difference. Therefore, our research question is: “Is there a significant difference in weight between old growth and clear cut forest types?” We will set our significance level at 0.05 (i.e., our test’s p-value must be below 0.05 for us to reject the null hypothesis). First load in your data (from the lterdatasampler package) and create a new variable trout for just the trout species: data(and_vertebrates) trout <- and_vertebrates %>% #filter species (remember spelling and capitalization are IMPORTANT) filter(species == "Cutthroat trout") %>% # remove NA values for weight, the variable we will be measuring drop_na(weight_g) Next, we will select a random set of trout observations at both forest types across four different sample sizes: 5, 10, 1000, 5000. Here, I have created the first object of 5 observations per forest type for you: trout_5 <- trout %>% #group by section to pull observations from each group group_by(section) %>% slice_sample(n = 5) %>% # ungroup the data frame to perform the statistical test ungroup() %>% t_test(weight_g ~ section, var.equal = FALSE, detailed = TRUE) 1. Write a function called trout_subber that takes a user-selected number of random observations (the thing that changes) from our trout data frame across both forest types (i.e., section) (5 pts.) HINTS: the number of observations you want to subset to will be an argument of the function. The code I’ve written above can be used as the basis of the function. You can refer back to the Write Functions primer lessons for guidance, specifically How to write a function. 2. Build upon the previous function by adding an additional step to perform a t-test on the data set at the end, and to return the results of that t-test. (NOTE: for simplicity, use the non-parametric t-test across all sub sets). (5 pts.) 3. Map over the function above, using our sample sizes of interest (i.e., 5, 10, 1000, 5000 per forest type). Repeat the process 100 times for each sample size to account for variability. The final outcome of this exercise should be a single data frame with 400 rows that includes all of our t-test summaries stacked on top of each other. (5 pts.) HINTS: Make use of the rep() function to create your vector of numbers to map over… 4. Using the data frame created in exercise 3, make a histogram of p-values for each sample size group (HINT: see what column name in your final data frame you should facet by). Make note of how the p-values and their variance change with sample size. (5 pts.) 9.2 Citations Data Source: Gregory, S.V. and I. Arismendi. 2020. Aquatic Vertebrate Population Study in Mack Creek, Andrews Experimental Forest, 1987 to present ver 14. Environmental Data Initiative. https://doi.org/10.6073/pasta/7c78d662e847cdbe33584add8f809165 Horst AM, Hill AP, Gorman KB (2020). palmerpenguins: Palmer Archipelago (Antarctica) penguin data. R package version 0.1.0. https://allisonhorst.github.io/palmerpenguins/. doi: 10.5281/zenodo.3960218. "],["r-skills-review.html", " 10 R Skills Review 10.1 Tidying datasets 10.2 Exploratory Data Analysis 10.3 Data Analysis", " 10 R Skills Review In this lesson you will take all of the skills you have learned up to this point and use them on a completely new set of data. 10.0.0.1 Necessary packages: library(tidyverse) library(rstatix) # new packages! Only if you want to work through the data retrieval process library(httr) library(jsonlite) library(dataRetrieval) 10.1 Tidying datasets We are interested in looking at how the Cache la Poudre River’s flow changes over time and space as it travels out of the mountainous Poudre Canyon and through Fort Collins. There are four stream flow monitoring sites on the Poudre that we are interested in: two managed by the US Geological Survey (USGS), and two managed by the Colorado Division of Water Resources (CDWR): We are going to work through retrieving the raw data from both the USGS and CDWR databases. 10.1.1 Get USGS stream flow data Using the dataRetrieval package we can pull all sorts of USGS water data. You can read more about the package, functions available, metadata etc. here: https://doi-usgs.github.io/dataRetrieval/index.html # pulls USGS daily ('dv') stream flow data for those two sites: usgs <- dataRetrieval::readNWISdv(siteNumbers = c("06752260", "06752280"), # USGS site code for the Poudre River at the Lincoln Bridge and the ELC parameterCd = "00060", # USGS code for stream flow startDate = "2020-10-01", # YYYY-MM-DD formatting endDate = "2023-10-01") %>% # YYYY-MM-DD formatting rename(q_cfs = X_00060_00003) %>% # USGS code for stream flow units in cubic feet per second (CFS) mutate(Date = lubridate::ymd(Date), # convert the Date column to "Date" formatting using the `lubridate` package Site = case_when(site_no == "06752260" ~ "Lincoln", site_no == "06752280" ~ "Boxelder")) # if you want to save the data: #write_csv(usgs, 'data/review-usgs.csv') 10.1.2 Get CDWR stream flow data Alas, CDWR doesn’t have an R packge to easily pull data from their API like USGS does, but they do have user-friendly instructions about how to develop API calls. Don’t stress if you have no clue what an API is! We will learn a lot more about them in 523A, but this is good practice for our function writing and mapping skills. Using the “URL Generator” steps outlined, if we wanted data from 2020-2022 for the Canyon mouth side (site abbreviation = CLAFTCCO), it generates this URL to retrieve that data: https://dwr.state.co.us/Rest/GET/api/v2/surfacewater/surfacewatertsday/?format=json&dateFormat=dateOnly&fields=abbrev%2CmeasDate%2Cvalue%2CmeasUnit&encoding=deflate&abbrev=CLAFTCCO&min-measDate=10%2F01%2F2020&max-measDate=09%2F30%2F2022 However, we want to pull this data for two different sites, and may want to change the year range of data. Therefore, we can write a function to pull data for our various sites and time frames: # Functin to retrieve data co_water_data <- function(site, start_year, end_year){ raw_data <- httr::GET(url = paste0("https://dwr.state.co.us/Rest/GET/api/v2/surfacewater/surfacewatertsday/?format=json&dateFormat=dateOnly&fields=abbrev%2CmeasDate%2Cvalue%2CmeasUnit&encoding=deflate&abbrev=",site, "&min-measDate=10%2F01%2F", start_year, "&max-measDate=09%2F30%2F", end_year)) # extract the text data, returns a JSON object extracted_data <- httr::content(raw_data, as = "text", encoding = "UTF-8") # parse text from JSON to data frame final_data <- jsonlite::fromJSON(extracted_data)[["ResultList"]] return(final_data) } Now, lets use that function to pull data for our two CDWR sites of interest, which we can iterate over with map(). Since this function returns data frames with the same structure an variable names, we can use map_dfr() to bind the two data frames into a single one: # run function for our two sites sites <- c("CLAFTCCO","CLARIVCO") cdwr <- sites %>% map_dfr(~ co_water_data(site = .x, start_year = 2020, end_year = 2023)) # If you want to save this file #write_csv(cdwr, 'data/review-cdwr.csv') 10.1.3 OR, read in the .csv’s we already generated and saved for you: Read in our two data sets. You will find that they provide the same information (daily streamflow from 2020-2022) but their variable names and structures are different: usgs <- read_csv('data/review-usgs.csv') cdwr <- read_csv('data/review-cdwr.csv') When we look at these two datasets, we see they provide the same information (daily streamflow from 2020-2023) but their variable names and structures are different: glimpse(usgs) ## Rows: 2,191 ## Columns: 6 ## $ agency_cd <chr> "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USGS", "USG… ## $ site_no <chr> "06752260", "06752260", "06752260", "06752260", "06752260", "06752260", "067… ## $ Date <date> 2020-10-01, 2020-10-02, 2020-10-03, 2020-10-04, 2020-10-05, 2020-10-06, 202… ## $ q_cfs <dbl> 6.64, 7.41, 7.04, 6.84, 6.79, 7.81, 6.49, 11.30, 20.20, 15.20, 11.20, 11.80,… ## $ X_00060_00003_cd <chr> "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "… ## $ Site <chr> "Lincoln", "Lincoln", "Lincoln", "Lincoln", "Lincoln", "Lincoln", "Lincoln",… glimpse(cdwr) ## Rows: 2,147 ## Columns: 4 ## $ abbrev <chr> "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", "CLAFTCCO", … ## $ measDate <date> 2020-10-01, 2020-10-02, 2020-10-03, 2020-10-04, 2020-10-05, 2020-10-06, 2020-10-07,… ## $ value <dbl> 42, 36, 34, 32, 35, 30, 30, 34, 34, 27, 21, 29, 26, 43, 39, 44, 39, 45, 46, 39, 36, … ## $ measUnit <chr> "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", "cfs", … Therefore, in order to combine these two datasets from different sources we need to do some data cleaning. Lets first focus on cleaning the cdwr dataset to match the structure of the usgs one: cdwr_clean <- cdwr %>% # rename data and streamflow vars to match name of usgs vars rename(q_cfs = value) %>% # Add site and agency vars mutate(Date = lubridate::ymd(measDate), Site = ifelse(abbrev == "CLAFTCCO", "Canyon", "Timnath"), agency_cd = "CDWR") Now, we can join our USGS and CDWR data frames together with bind_rows(). data <- bind_rows(usgs,cdwr_clean) 10.2 Exploratory Data Analysis Let’s explore the data to see if there are any trends we can find visually. We can first visualize the data as time series: # Discharge (in CFS) through time displaying all four of our monitoring sites. data %>% ggplot(aes(x = Date, y = q_cfs, color = Site)) + geom_line() + theme_bw() + xlab("Date") + ylab("Discharge (cfs)") + facet_wrap( ~ Site, ncol = 1) Say we wanted to examine differences in annual stream flow. We can do this with a little data wrangling, using the separate() function to split our “Date” column into Year, Month, and Day columns. data_annual <- data %>% separate(Date, into = c("Year", "Month", "Day"), sep = "-") %>% # create monthly avg for plots group_by(Site, Year, Month) %>% summarise(monthly_q = mean(q_cfs)) # visualize annual differences across the course of each year data_annual %>% ggplot(aes(x = Month, y = monthly_q, group = Year)) + geom_line(aes(colour = Year))+ facet_wrap(~Site) + theme_bw() Let’s look at the daily difference in discharge between the mouth of the Cache la Poudre River (Canyon Mouth site) and each of the sites downstream. This will require some more wrangling of our data. dif_data <- data %>% # select vars of interest select(Site, Date, q_cfs) %>% # create a column of streamflow values for each site pivot_wider(names_from = Site, values_from = q_cfs) %>% # for each downstream site, create a new column that is the difference from the Canyon mouth site mutate_at(c("Boxelder", "Lincoln", "Timnath"), .funs = ~ (Canyon - .)) %>% # if you wanted to create new variables use this instead: #mutate_at(c("Boxelder", "Lincoln", "Timnath"), .funs = list(dif = ~ (Canyon - .))) %>% # then pivot these new columns (i.e., NOT the date and canyon columns) longer again pivot_longer(-c(Canyon, Date)) dif_data %>% mutate(name = fct(name, levels = c("Lincoln", "Boxelder", "Timnath"))) %>% ggplot() + geom_line(aes(x = Date, y = value, color = name)) + theme_bw() + facet_wrap("name")+ ylab("Streamflow Difference from Poudre Mouth") 10.3 Data Analysis Through our exploratory data analysis, it appears that stream flow decreases as we move through town. But, how can we test if these flows are significantly different, and identify the magnitude/direction of these differences? Because we will be comparing daily stream flow across multiple sites, we can use an ANOVA test to assess this research question. We will set our alpha at 0.05. 10.3.1 Testing for normal distribution ANOVA assumes normal distribution within each group - we can visualize each site’s data with a histogram: ggplot(data = data, aes(x = q_cfs)) + geom_histogram() + facet_wrap (~Site) … and use the shapiro_test() function along with group_by() to statistically test for normality within each site’s daily stream flow data: data %>% group_by(Site) %>% shapiro_test(q_cfs) ## # A tibble: 4 × 4 ## Site variable statistic p ## <chr> <chr> <dbl> <dbl> ## 1 Boxelder q_cfs 0.485 1.86e-48 ## 2 Canyon q_cfs 0.648 1.29e-42 ## 3 Lincoln q_cfs 0.486 2.08e-48 ## 4 Timnath q_cfs 0.427 2.07e-49 Since the null hypothesis of the Shapiro-Wilk test is that the data is normally distributed, these results tell us all groups do not fit a normal distribution for daily stream flow. It is also quite clear from their histograms that they are not normally distributed. 10.3.2 Testing for equal variance To test for equal variances among more than two groups, it is easiest to use a Levene’s Test like we have done in the past: data %>% levene_test(q_cfs ~ Site) ## # A tibble: 1 × 4 ## df1 df2 statistic p ## <int> <int> <dbl> <dbl> ## 1 3 4334 41.8 1.31e-26 Given this small p-value, we see that the variances of our groups are not equal. 10.3.3 ANOVA - Kruskal-Wallis After checking our assumptions we need to perform a non-parametric ANOVA test, the Kruskal-Wallis test. data %>% kruskal_test(q_cfs ~ Site) ## # A tibble: 1 × 6 ## .y. n statistic df p method ## * <chr> <int> <dbl> <int> <dbl> <chr> ## 1 q_cfs 4338 860. 3 5.36e-186 Kruskal-Wallis Our results here are highly significant (at alpha = 0.05), meaning that at least one of our group’s mean stream flow is significantly different from the others. 10.3.4 ANOVA post-hoc analysis Since we used the non-parametric Kruskal-Wallace test, we can use the associated Dunn’s test to test across our sites for significant differences in mean stream flow: data %>% dunn_test(q_cfs ~ Site) ## # A tibble: 6 × 9 ## .y. group1 group2 n1 n2 statistic p p.adj p.adj.signif ## * <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <chr> ## 1 q_cfs Boxelder Canyon 1096 1095 28.9 1.92e-183 1.15e-182 **** ## 2 q_cfs Boxelder Lincoln 1096 1095 10.6 1.77e- 26 3.54e- 26 **** ## 3 q_cfs Boxelder Timnath 1096 1052 15.1 2.39e- 51 9.56e- 51 **** ## 4 q_cfs Canyon Lincoln 1095 1095 -18.2 2.94e- 74 1.47e- 73 **** ## 5 q_cfs Canyon Timnath 1095 1052 -13.5 1.27e- 41 3.81e- 41 **** ## 6 q_cfs Lincoln Timnath 1095 1052 4.53 5.84e- 6 5.84e- 6 **** The results of our Dunn test signify that all of our sites are significantly different from eachother mean streamflow across our sites are significantly different. THOUGHT EXPERIMENT 1: Based on our results, which of our two gages have the greatest difference in mean daily stream flow? THOUGHT EXPERIMENT 2: Is this an appropriate test to perform on stream flow data? Why or why not? "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]]