# Set theme
theme_set(theme_minimal() +
theme(text = element_text(size = 12),
plot.title = element_text(size = 14, face = "bold")))
# Load data
<- read_csv("data/DoubsEnv.csv") %>%
doubs_env rename(site = 1) %>%
mutate(site = as.factor(site))
<- read_csv("data/DoubsSpe.csv") %>%
doubs_spe rename(site = 1) %>%
mutate(site = as.factor(site))
# Create river reach groups based on distance from source
<- doubs_env %>%
doubs_env mutate(reach = case_when(
<= 30 ~ "Upper",
das <= 80 ~ "Middle",
das TRUE ~ "Lower"
%>% factor(levels = c("Upper", "Middle", "Lower")))
)
<- doubs_spe %>%
doubs_spe left_join(doubs_env %>% select(site, reach), by = "site")
cat("Species data structure:\n")
Species data structure:
str(doubs_spe)
tibble [29 × 29] (S3: tbl_df/tbl/data.frame)
$ site : Factor w/ 29 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
$ CHA : num [1:29] 0 0 0 0 0 0 0 0 0 1 ...
$ TRU : num [1:29] 3 5 5 4 2 3 5 0 1 3 ...
$ VAI : num [1:29] 0 4 5 5 3 4 4 1 4 4 ...
$ LOC : num [1:29] 0 3 5 5 2 5 5 3 4 1 ...
$ OMB : num [1:29] 0 0 0 0 0 0 0 0 0 1 ...
$ BLA : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ HOT : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ TOX : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ VAN : num [1:29] 0 0 0 0 5 1 1 0 2 0 ...
$ CHE : num [1:29] 0 0 0 1 2 2 1 5 2 1 ...
$ BAR : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ SPI : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ GOU : num [1:29] 0 0 0 1 2 1 0 0 1 0 ...
$ BRO : num [1:29] 0 0 1 2 4 1 0 0 0 0 ...
$ PER : num [1:29] 0 0 0 2 4 1 0 0 0 0 ...
$ BOU : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ PSO : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ ROT : num [1:29] 0 0 0 0 2 0 0 0 0 0 ...
$ CAR : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ TAN : num [1:29] 0 0 0 1 3 2 0 1 0 0 ...
$ BCO : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ PCH : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ GRE : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ GAR : num [1:29] 0 0 0 0 5 1 0 4 0 0 ...
$ BBO : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ ABL : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ ANG : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
$ reach: Factor w/ 3 levels "Upper","Middle",..: 1 1 1 1 1 2 2 2 3 3 ...
cat("\nEnvironmental data structure:\n")
Environmental data structure:
str(doubs_env)
tibble [29 × 13] (S3: tbl_df/tbl/data.frame)
$ site : Factor w/ 29 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
$ das : num [1:29] 0.3 2.2 10.2 18.5 21.5 ...
$ alt : num [1:29] 934 932 914 854 849 846 841 752 617 483 ...
$ pen : num [1:29] 48 3 3.7 3.2 2.3 3.2 6.6 1.2 9.9 4.1 ...
$ deb : num [1:29] 0.84 1 1.8 2.53 2.64 2.86 4 4.8 10 19.9 ...
$ pH : num [1:29] 7.9 8 8.3 8 8.1 7.9 8.1 8 7.7 8.1 ...
$ dur : num [1:29] 45 40 52 72 84 60 88 90 82 96 ...
$ pho : num [1:29] 0.01 0.02 0.05 0.1 0.38 0.2 0.07 0.3 0.06 0.3 ...
$ nit : num [1:29] 0.2 0.2 0.22 0.21 0.52 0.15 0.15 0.82 0.75 1.6 ...
$ amm : num [1:29] 0 0.1 0.05 0 0.2 0 0 0.12 0.01 0 ...
$ oxy : num [1:29] 12.2 10.3 10.5 11 8 10.2 11.1 7.2 10 11.5 ...
$ dbo : num [1:29] 2.7 1.9 3.5 1.3 6.2 5.3 2.2 5.2 4.3 2.7 ...
$ reach: Factor w/ 3 levels "Upper","Middle",..: 1 1 1 1 1 2 2 2 3 3 ...