TidyTuesday
    • About TidyTuesday
    • Datasets
      • 2025
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
      • 2018
    • Useful links

    On this page

    • Salmonid Mortality Data
      • The Data
      • How to Participate
        • PydyTuesday: A Posit collaboration with TidyTuesday
      • Data Dictionary
        • monthly_losses_data.csv
        • monthly_mortality_data.csv
      • Cleaning Script

    Salmonid Mortality Data

    The datasets this week come from the suite of Salmonid mortality datasets published by the Norwegian Veterinary Institute. A total of five datasets are published on the Laksetap Shiny App and API. This data captures the public interest as the Norwegian government goal is to push for lower mortality. Here, two datasets are shared, the monthly mortality data, and the monthly loses data. TidyTuesday users can explore the other datasets if they wish. Data is available from 2020.

    The Fish Health Report is the Norwegian Veterinary Institute’s annual status report on the health and welfare situation for Norwegian farmed fish and is based on official statistics, data from the Norwegian Veterinary Institute and private laboratories. The report also contains results from a survey among fish health personnel and inspectors from the Norwegian Food Safety Authority, as well as assessments of the situation, trends and risks.

    • How does monthly mortality differ across the time period data is available for?
    • Which region has lowest mortality?
    • What other types of loses may be significant in addition to death of fish?

    Thank you to Novica Nakov for curating this week’s dataset.

    The Data

    # Using R
    # Option 1: tidytuesdayR R package 
    ## install.packages("tidytuesdayR")
    
    tuesdata <- tidytuesdayR::tt_load('2026-03-17')
    ## OR
    tuesdata <- tidytuesdayR::tt_load(2026, week = 11)
    
    monthly_losses_data <- tuesdata$monthly_losses_data
    monthly_mortality_data <- tuesdata$monthly_mortality_data
    
    # Option 2: Read directly from GitHub
    
    monthly_losses_data <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_losses_data.csv')
    monthly_mortality_data <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_mortality_data.csv')
    # Using Python
    # Option 1: pydytuesday python library
    ## pip install pydytuesday
    
    import pydytuesday
    
    # Download files from the week, which you can then read in locally
    pydytuesday.get_date('2026-03-17')
    
    # Option 2: Read directly from GitHub and assign to an object
    
    monthly_losses_data = pandas.read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_losses_data.csv')
    monthly_mortality_data = pandas.read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_mortality_data.csv')
    # Using Julia
    # Option 1: TidierTuesday.jl library
    ## Pkg.add(url="https://github.com/TidierOrg/TidierTuesday.jl")
    
    using TidierTuesday
    
    # Download datasets for the week, and load them as a NamedTuple of DataFrames
    data = tt_load("2026-03-17")
    
    # Option 2: Read directly from GitHub and assign to an object with TidierFiles
    
    monthly_losses_data = read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_losses_data.csv")
    monthly_mortality_data = read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_mortality_data.csv")
    
    # Option 3: Read directly from Github and assign without Tidier dependencies
    monthly_losses_data = CSV.read("https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_losses_data.csv", DataFrame)
    monthly_mortality_data = CSV.read("https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2026/2026-03-17/monthly_mortality_data.csv", DataFrame)

    How to Participate

    • Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data. There are various moderating variables that affect all data, many of which might not have been captured in these datasets. As such, our suggestion is to use the data provided to practice your data tidying and plotting techniques, and to consider for yourself what nuances might underlie these relationships.
    • Create a visualization, a model, a Quarto report, a shiny app, or some other piece of data-science-related output, using R, Python, or another programming language.
    • Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.
    • Submit your own dataset!

    PydyTuesday: A Posit collaboration with TidyTuesday

    • Exploring the TidyTuesday data in Python? Posit has some extra resources for you! Have you tried making a Quarto dashboard? Find videos and other resources in Posit’s PydyTuesday repo.
    • Share your work with the world using the hashtags #TidyTuesday and #PydyTuesday so that Posit has the chance to highlight your work, too!
    • Deploy or share your work however you want! If you’d like a super easy way to publish your work, give Connect Cloud a try.

    Data Dictionary

    monthly_losses_data.csv

    variable class description
    species character The species of fish.
    date date The month for the observation in format YYYY-MM-DD.
    geo_group character Country, county or area level for the data.
    region character The name of the geo_group.
    losses integer Total number fish losses.
    dead integer Number of dead fish.
    discarded integer Number of discarded fish.
    escaped integer Number of escaped fish.
    other integer Number of other losses.

    monthly_mortality_data.csv

    variable class description
    species character The species of fish.
    date date The month for the observation in format YYYY-MM-DD.
    geo_group character Country, county or area level for the data.
    region character The name of the geo_group.
    median double Median mortality.
    q1 double Lower quartile.
    q3 double Upper quartile.

    Cleaning Script

    # Clean data provided by Norwegian Veterinary Institute. No cleaning was
    # necessary. The data is published at https://apps.vetinst.no/laksetap/ Here
    # only two datasets are shared, but people may investigate the other datasets as
    # well. Manually download data to local path tt_submission/data-raw/
    
    monthly_mortality_data <- readr::read_csv(
      "tt_submission/data-raw/monthly_mortality_data_2026-03-09.csv"
    )
    
    monthly_losses_data <- readr::read_csv(
      "tt_submission/data-raw/monthly_losses_data_2026-03-09.csv"
    )