To conserve species, we must conserve their habitat. This concept is well known, but the reality is much more complex than simply conserving a particular area. Habitats are dynamic and vary across both space and time. Such variation can help to facilitate long-term persistence of species by allowing local movement in search of the best conditions. Brennan et al. clearly demonstrate the benefit of the habitat mosaic to Pacific salmon by characterizing how both climate and population productivity vary over time and space in an Alaskan river system.

bt.brennan.2019a

Format

The data frame 183,371 × 11 contains the following columns:

file_idcharacterfile identifier
fish_idcharacterfish identifier
speciescharacterchinook salmon and sockeye salmon
yearintegeryear of caught
datecharacterdate of caught
sexcharacterfish sex
sizenumericage of caught
agenumericmid-eye to fork length (mm)
distancenumericdistance from otolith core (proportion of total)
oto_sr8786numericsr isotopes
oto_sr8786_senumericprocess error of sr isotopes

Details

The dataset contains state-space fits of otolith 87Sr/86Sr ratios from chinook salmon (Oncorhynchus tshawytscha) and Sockeye salmon (Oncorhynchus nerka) harvested Alaskan river system.

Instrument: LA-MC-ICP-MS (laser ablation–multicollector–inductively coupled plasma–mass spectrometry)

Source

Brennan, S. R., Schindler, D. E., Cline, T. J., Walsworth, T. E., Buck, G., & Fernandez, D. P. (2019). Shifting habitat mosaics and fish production across river basins. Science364(6442), 783--786. https://doi.org/10.1126/science.aav4313

Traversing the paper's information via Semantic Scholar ID 11891bffbdb3db606baf1aea084a74d2c302b458 using S2miner package

Author

Liuyong Ding, ly_ding@126.com

Concepts

otolith, stable isotope, Sr8786

Examples

### copy data into 'dat'
dat <- bt.brennan.2019a
tibble::tibble(dat)
#> # A tibble: 183,371 × 11
#>    file_id      fish_id       species   year date                sex    size   age distance oto_sr8786
#>    <chr>        <chr>         <chr>    <dbl> <dttm>              <chr> <dbl> <dbl>    <dbl>      <dbl>
#>  1 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        1      0.704
#>  2 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        2      0.704
#>  3 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        3      0.704
#>  4 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        4      0.704
#>  5 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        5      0.704
#>  6 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        6      0.704
#>  7 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        7      0.704
#>  8 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        8      0.704
#>  9 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4        9      0.704
#> 10 2014_K_1.csv nush_K_2014_1 Oncorhy…  2014 2014-06-25 00:00:00 F       885   1.4       10      0.704
#> # ℹ 183,361 more rows
#> # ℹ 1 more variable: oto_sr8786_se <dbl>

if (FALSE) {
### sulfur profile figure
library(dplyr)
library(ggplot2)

### Sr isotopes
dat <- dat |> group_by(fish_id) |>
  mutate(distance_scale = distance/max(distance))

ggplot(data = dat, aes(distance_scale, oto_sr8786)) +
  geom_line(aes(group = fish_id, colour = year), show.legend = F) +
  facet_grid(.~ species, scales = "free_y") +
  xlab("Distance from otolith core (proportion of total)") +
  ylab(expression(paste(
    {}^"87",
    "Sr/",
    {}^"86",
    "Sr"
  ))) +
  theme_bw() +
  theme(
    panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
    panel.background = element_blank(), axis.line = element_line(colour = "black"),
    text = element_text(size = 10), legend.title = element_blank(),
    plot.title = element_text(face = "bold")
  )
}