Data In The Wild
  1. Module 5
  2. Assignment 2
  • Home
  • Contact Us
  • For Instructors

  • Module 1
    • Overview
    • 1.1: Introduction to R and RStudio
    • 1.2: Intro to Coding in R
    • 1.3: Introduction to the tidyverse
    • Assignment 2
    • Assignment 3
  • Module 2
    • Overview
    • 2.1: Good Food Gone Bad
    • 2.2: Plotting with ggplot2
    • 2.3: Data Visualization
    • 2.4: Exploring geom Functions
    • 2.5: Module 2 Wrap-Up
    • Assignment 1
    • Assignment 2
    • Assignment 3
  • Module 3
    • Overview
    • 3.1: Leopard Seals
    • 3.2: T-Tests
    • 3.3: Comparing (Multiple) Means
    • Assignment 1
    • Assignment 2
  • Module 4
    • Overview
    • 4.1: Combining Datasets (Joins & Binds)
    • 4.2: K-Nearest Neighbor
    • 4.3: Roads and Regressions
    • 4.4: Multiple Regression
    • 4.5: Writing Functions
    • Assignment 1
    • Assignment 2
    • Assignment 3
    • Assignment 4
  • Module 5
    • Overview
    • 5.1: Population Growth
    • 5.2: Sustainable Fishing
    • 5.3: Comparing Populations
    • Assignment 1
    • Assignment 2
    • Assignment 3
  • Final Project

  • Resources

On this page

  • Assignment Details
    • Purpose
    • Task
    • Criteria for Success
  • Assignment Questions
    • Set-Up
    • Selecting a Bay
    • Calculating Carrying Capacity
    • Maximum Sustainable Yield
      • How Many Fish Do We Need?
    • Interpretation
  1. Module 5
  2. Assignment 2

Module 5, Assignment 2: Choosing a Bay to Fish

Author

Ellen Bledsoe, Lily McMullen

Assignment Details

Purpose

The goal of this assignment is to assess your ability to apply the concepts of population growth to determine sustainable fishing amounts.

Task

Write R code which produces the correct answers and correctly interpret the results of visualizations and models.

Criteria for Success

  • Code is within the provided code chunks
  • Code chunks run without errors
  • Code produces the correct result
    • Code that produces the correct answer will receive full credit
    • Code attempts with logical direction will receive partial credit
  • Written answers address the questions in sufficient detail

Assignment Questions

We are finally going to decide which bay we are going to fish from down at our research station!

In Module 3, we determined that we could fish from either Hope Bay or Sulzberger Bay. Now, using everything we’ve learned about population growth, carrying capacity, and maximum sustainable yield, we will determine (a) which bay to fish and (b) how many fish we can sustainably harvest each year.

Questions are worth 1 point unless otherwise noted.

Set-Up

As usual, we start by loading the packages we need.

  1. In this case, we need two different packages: tidyverse and drc.
  1. We also need to load the data from our two bays of interest. Thankfully, we have data from 2010-2024. Load in fish_abund_2010-2024.csv and save it in your environment as fish.

Make sure you take a look at the data to get familiar with it before you start coding!

Selecting a Bay

  1. First, we should calculate some summary statistics. For each bay, calculate the maximum number of fish.

The maximum abundance is somewhat helpful, but we need more information.

  1. Let’s now make a plot with the fish populations for each bay as different colors. Include both points and lines for each population. Make sure you add more descriptive axes labels, legend label, and a theme. (2 points)
  1. How should we interpret this plot? Which type of growth is being shown in the fish populations in each bay?

    Answer:

  2. Based on the plot and what we know about logistic and exponential growth populations, which fish population would be the safest population to choose for sustainable fishing? Why? (See Module 5 Lesson 2 if you’re stuck.)

    Answer:

  3. Now that you’ve chosen a bay that we should fish in, let’s create a new dataframe that contains only rows with data from that bay for us to use in our remaining calculations.

Calculating Carrying Capacity

Now that we know which bay to fish, we need to determine how many fish we can harvest per year sustainably.

  1. Our first step is to estimate the carrying capacity. Using the drm() function from the drc package, run and save the model that will give us our estimate of carrying capacity. Remember to include the argument fct = LL.4()!
# NOTE: You might get output that says "Warning: NaNs produced" repeatedly. That's ok! Keep going.
  1. Save the vector of estimates as an object.
  1. Select the 3rd value (d:(Intercept)) from the vector using square brackets.
  1. For clarity, let’s remove the name from the value using the unname() function. Save the unnamed output as K.
  1. Let’s go ahead and add a horizontal line onto our plot where the estimated carrying capacity hits the y-axis using geom_hline().

Maximum Sustainable Yield

  1. Calculate the Maximum Sustainable Yield (MSY) for this population.

How Many Fish Do We Need?

Calculating how many fish we need each year at the station to support our staff requires a bit of math. Due to our limited amount of ships, we can only go out for one fishing expedition per year, so we need to figure out how much we need to feed the station for an entire year.

We’ve been given some critical pieces of information:

  1. Number of people to feed: 349 people
  2. Amount of fish each person needs: 0.45 lbs/day
  3. Number of days people need to eat from this fishing expedition: 365
  4. Weight of one Antarctic toothfish (assume all weight is edible): 154 lbs
  1. Create objects for each one of these pieces of information by assigning the correct number to each object and running the code chunk. The objects should now appear in your “Environment.”
num_people <- 
fish_amount <- 
num_days <- 
ind_fish_weight <- 
  1. How do we translate this to the number of Antarctic toothfish we need? First, let’s multiply the number of people we need to feed by the amount of fish eaten per day and again by the number of days in a year. This will give us the total amount of fish (in lbs) that we will need to feed everyone at the station for a full year.

Use the objects you created in Question 14, not the numbers themselves. Save this output as total_annual_fish_weight.

Hint: the symbol for multiplying is * in R.

  1. If we divide the total_annual_fish_weight by the weight of one Antarctic toothfish, the result will be the total number of fish that we need to catch to sustain the base for a year. Remember to use objects, not the numbers directly.

Hint: the symbol for dividing is / in R.

Interpretation

  1. Based on everything you’ve learned in this module, determine whether or not we can sustainably fish our chosen population. Explain how you determined your answer using the concepts we’ve covered in class. Your answer should be 3-4 sentences long. (3 points)

Answer:

2026, University of Arizona & Lewis & Clark College

 
  • Made with Quarto