Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

110 broedvogels #96

Merged
merged 14 commits into from
Oct 7, 2024
241 changes: 241 additions & 0 deletions moneos_2024/110_broedvogels/10_broedvogels_analyse.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
---
params:
hoofdstuk: "110_broedvogels"
knit: (function(inputFile, encoding) {
rmarkdown::render(inputFile,
encoding=encoding,
output_dir = paste0(
rmarkdown::yaml_front_matter(inputFile)$params$hoofdstuk, "/output"))})

title: "MONEOS analyse - broedvogels"
output: html_document
editor_options:
chunk_output_type: console
---


```{r setup, include=FALSE}

knitr::opts_chunk$set(echo = FALSE, error=FALSE, warning=FALSE, message=FALSE, cache=FALSE)

```


```{r libraries}

library(tidyverse)
library(INBOtheme)
library(rprojroot)
library(lubridate)
library(kableExtra)
library(readxl)
library(tmap)
conflicted::conflicts_prefer(dplyr::filter)

```


```{r pad}

# inlezen van variabelen
# pad naar data : pad_data
# pad naar tabellen : pad_tabellen
# pad naar figuren : pad_figuren

source(find_root_file("../pad.R", criterion = is_rstudio_project))

pad_data <- maak_pad(params$hoofdstuk, "data")
pad_figuren <- maak_pad(params$hoofdstuk, "figuren")
pad_tabellen <- maak_pad(params$hoofdstuk, "tabellen")

```


```{r data}
Soorten <- read_xlsx(path = str_c(pad_data, "Data_nieuwe_vorm_2024.xlsx"),
sheet = "Soorten")
Terr_Sigma_BB <-
read_csv(str_c(pad_tabellen, "Terr_Sigma_BB.csv"))
Terr_Sigma_AB <-
read_csv(str_c(pad_tabellen, "Terr_Sigma_AB.csv"))
Terr_Sigma_AB_tot <-
read_csv(str_c("C:/R/Projects/Broedvogels/data-output/Terr_Sigma_AB_tot.csv"))
```


# beschrijving van de data Terr_Sigma_BB

- Per waarneming zijn er `r ncol(Terr_Sigma_BB)` informatievelden
- In totaal bevat de dataset in 2022 `r nrow(Terr_Sigma_BB)` waarnemingen
- De dataset bevat waarnemingen van `r length(unique(Terr_Sigma_BB$Soort))` soorten.
- De dataset bevat waarnemingen van `r length(unique(Terr_Sigma_BB$Jaar))` jaren (1995 tot en met 2021).





# Figuur bijzondere soorten

```{r 110-plot-zeldzame-soorten, fig.height=8, fig.width=6, out.width="100%", fig.cap = cap_zeldzame_soorten}
cap_zeldzame_soorten <-
"Evoluties in de broedvogelaantallen voor een selectie van soorten waarvoor de data-inzameling representatief is binnen IHD-gebied. Loess-smoother weergegeven. Rode horizontale lijn geeft de tot doel gestelde aantallen."

Terr_Sigma_BB %>%
filter(Soort != "Purperreiger") %>%
ggplot() +
geom_point(aes(x = Jaar, y = Aantal))+
geom_smooth(aes(x = Jaar, y = Aantal), span = 0.6)+
geom_hline(aes(yintercept = Doel), size = 0.75, colour = "red") +
ylim(0, NA_integer_) +
facet_wrap (~Soort, scales = "free", ncol=3) +
labs(y = "Aantal territoria") +
theme(
strip.text = element_text(size = 9),
axis.title = element_text(size = 9),
axis.title.x = element_blank(),
axis.text = element_text(size = 7))

ggsave(filename = str_c(pad_figuren, "110_fig3.jpg"), height=8, width=6)
```
<br/>
<br/>

# Figuur Algemene soorten

```{r 110-plot-algemene-soorten, fig.height=5, fig.width=6, out.width="100%", fig.cap = cap_algemene_soorten}

cap_algemene_soorten <-
"Evoluties in de broedvogelaantallen (territoria) voor een selectie van algemenere soorten voor een beperkt aantal gebieden die frequent worden geteld (BD (Blokkersdijk), K (Ketenisse), Sigma (Kalkense Meersen, Wijmeers, Bergenmeersen, Paardeweide, Weijmeerbroek en Polder van Kruibeke), Sigma\\_LO (= Noordelijke gebied = Doelpolder + Prosperpolder + Paardenschor + Schor Ouden Doel)). Rode horizontale lijn geeft de tot doel gestelde aantallen."

Terr_Sigma_AB %>%
ggplot() +
geom_bar(aes(Jaar, weight = Aantal, fill = TypeGebied))+
geom_hline(aes(yintercept = Doel), size = 1, color = "red")+
facet_wrap (~Soort, scales = "free", ncol=2)+
scale_y_continuous(limits = c(0, NA))+
scale_x_continuous(breaks = c(2005,2010,2015, 2020)) +
labs(y = "Aantal territoria") +
scale_fill_discrete(labels=c("Blokkersdijk", "Ketenisse", "Sigma",
"Sigma_Noordelijk gebied")) +
theme(
strip.text = element_text(size = 12),
axis.title = element_text(size = 11),
axis.title.x = element_blank(),
axis.text = element_text(size = 9),
legend.title = element_blank(),
legend.position = "bottom"
)

ggsave(filename = str_c(pad_figuren, "110_fig4.jpg"), height=8, width=7)

```


```{r 110-plot-algemene-soorten-tot, fig.height=5, fig.width=6, out.width="100%", fig.cap = cap_algemene_soorten}

cap_algemene_soorten <-
"Evoluties in de broedvogelaantallen (territoria) voor een selectie van algemenere soorten voor een beperkt aantal gebieden die frequent worden geteld (BD (Blokkersdijk), K (Ketenisse), Sigma (Kalkense Meersen, Wijmeers, Bergenmeersen, Paardeweide, Weijmeerbroek en Polder van Kruibeke), Sigma\\_LO (= Noordelijke gebied = Doelpolder + Prosperpolder + Paardenschor + Schor Ouden Doel)) tot en met 2020 en voor alle getelde gebieden sinds 2021. Rode horizontale lijn geeft de tot doel gestelde aantallen."

Terr_Sigma_AB_tot %>%
ggplot() +
geom_bar(aes(Jaar, weight = Aantal, fill = TypeGebied))+
geom_hline(aes(yintercept = Doel), size = 1, color = "red")+
facet_wrap (~Soort, scales = "free", ncol=2)+
scale_y_continuous(limits = c(0, NA))+
scale_x_continuous(breaks = c(2005,2010,2015, 2020)) +
labs(y = "Aantal territoria") +
scale_fill_discrete(labels=c("Blokkersdijk", "Ketenisse", "Sigma",
"Sigma_Noordelijk gebied")) +
theme(
strip.text = element_text(size = 12),
axis.title = element_text(size = 11),
axis.title.x = element_blank(),
axis.text = element_text(size = 9),
legend.title = element_blank(),
legend.position = "bottom"
)
```

```{r soortgrafiek per Typegebied, include = FALSE}
Terr_Sigma_AB %>%
filter(Soort == "Scholekster") %>%
group_by(Soort, TypeGebied, Jaar) %>%
summarise(Aantal = sum(Aantal), .groups = "drop") %>%
ggplot() +
geom_point(aes(x = Jaar, y = Aantal, color = TypeGebied))+
geom_line(aes(x = Jaar, y = Aantal, color = TypeGebied)) +
scale_y_continuous(limits = c(0, NA))+
scale_x_continuous(breaks = c(2005,2010,2015, 2020)) +
labs(y = "Aantal territoria") +
theme(
strip.text = element_text(size = 12),
axis.title = element_text(size = 11),
axis.title.x = element_blank(),
axis.text = element_text(size = 9),
legend.title = element_blank(),
legend.position = "bottom"
)
```

```{r totale aantammen per soort, include=FALSE}
Terr_Sigma_AB %>%
filter(Soort == "Scholekster") %>%
group_by(Soort, Jaar) %>%
summarise(Aantal = sum(Aantal), .groups = "drop")
```



# Broedlocaties per soort

Voor het schrijven van het hoofdstuk kan het handig zijn een jaarlijks overzicht van broedlocaties van de soorten handig zijn.

```{r nested data 202122}
data23 <- readxl::read_xlsx(str_c(pad_data, "Data_nieuwe_vorm_2024.xlsx"),
range = "A1:G500") %>%
filter(!is.na(Soort))
# we nest data to make a table for each species-year by using a for loop
# the result is a dataframe with columns Soort(chr), Jaar (num) en data(list). Eacht list item in data contains a dataframe with Gebied, minimum and maximum.
data_nested <-
data23 %>%
arrange(Soort, Jaar) %>%
nest(data = c(Gebied, minimum, maximum), .by = c(Soort, Jaar))
# data_nested$data[1]
# data_nested$data[data_nested$Soort == "Lepelaar"]
# data_nested$data[data_nested$Soort == "Lepelaar" & data_nested$Jaar == 2021] %>%
# kable() %>%
# kable_paper()

```

```{r broedlocaties, results='asis'}
# The nested data are used in a for loop to produce seperate table in de output html file, notice the use of results='asis' in the header! (without that kable does not work in a for loop)
for(x in unique(data_nested$Soort)){
a <- data_nested %>% filter(Soort == x)
for(y in a$Jaar){
cap <- str_c(a$Soort[1], y, sep = " - ")
b <-
a %>% filter(Jaar == y) %>% pull(data) %>%
kable(caption = cap, align = "lcc")
print(b)
cat("\n")
}
}
```


```{r broedlocaties2, results='asis'}
for(x in unique(data_nested$Soort)){
a <- data_nested %>% filter(Soort == x) %>% unnest %>%
pivot_wider(id_cols = Gebied, names_from = Jaar, values_from = maximum) %>%
kable(caption = x, align = "lcc")
print(a)
cat("\n")
}

```
<br/>
<br/>



Loading
Loading