Overblik over antal fugle og arter

Total antal individer Total antal arter
872 45

Gennemsnitligt antal arter og individer i Blandings- vs. Monoskove

Skovtype Gennemsnitligt antal arter pr. skov Gennemsnitligt antal individer pr. skov
Blanding 15.222222 82.44444
Mono 8.666667 43.33333

arter_pr_skov <- Data %>%
  filter(Metode == "EgenObs",
         !Art %in% paste0("Ukendt_sp", 1:9),
         Art != "Rørsanger") %>%
  group_by(Skov) %>%
  summarise(AntalArter = n_distinct(Art),
            AntalIndivider = sum(Antal, na.rm = TRUE))
library(knitr)

kable(arter_pr_skov,
      col.names = c("Skov", "Antal arter", "Antal individer"),
      caption = "Antal fuglearter og individer pr. skov")
Antal fuglearter og individer pr. skov
Skov Antal arter Antal individer
Blå skov 14 106
Geding Eg 6 23
Genbrugsskoven 15 95
Hasselager vildskov 12 73
Hørret Eg 12 81
Karl Holm Eg 8 26
Lillering skov 20 75
Sneptrup Præstegårdsskov 1 18 79
Sneptrup Præstegårdsskov 2 17 102
Sneptrup Præstegårdsskov 3 16 82
Søbakke skovbadeskov 13 71
Østerby skov 12 59

Data %>%
  filter(Metode == "EgenObs",
         !Art %in% paste0("Ukendt_sp", 1:9),
         Art != "Rørsanger") %>%
  group_by(Skovtype, Alder, Skov, Art) %>%
  summarise(AntalPrPlot = sum(Antal, na.rm = TRUE), .groups = "drop") %>%
  group_by(Skovtype, Alder, Art) %>%
  summarise(MiddelAntal = mean(AntalPrPlot), .groups = "drop") %>%
  ggplot(aes(x = reorder(Art, MiddelAntal), y = MiddelAntal, fill = Alder)) +
  geom_col(position = position_dodge(width = 0.8)) +
  facet_wrap(~Skovtype, scales = "free_y") +
  coord_flip() +
  labs(x = "Fugleart", y = "Total antal individer", fill = "Alder",
       title = "Abundans af arter i skove efter type og alder") +
  theme_minimal()

diversity_plot <- Data %>%
  filter(Metode == "EgenObs") %>%
  group_by(Skov, Plot) %>%
  summarise(AntalArter = n_distinct(Art))
## `summarise()` has grouped output by 'Skov'. You can override using the
## `.groups` argument.
library(ggplot2)
library(dplyr)

diversity_plot <- Data %>%
  filter(Metode == "EgenObs") %>%
  group_by(Skov, Plot, Skovtype) %>%
  summarise(AntalArter = n_distinct(Art), .groups = "drop")

ggplot(diversity_plot, aes(x = reorder(Skov, AntalArter, FUN = median), 
                           y = AntalArter, fill = Skovtype)) +
  geom_boxplot() +
  geom_jitter(width = 0.2, alpha = 0.5) +
  labs(title = "Fuglediversitet pr. plot i skovene", 
       y = "Antal arter", x = "Skov", fill = "Skovtype") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

library(dplyr)

#Laver en dataframe med antal af arter pr. plot
ArterPrPlot <- Data %>%
  filter(Metode == "EgenObs") %>%   # Brug dine egne observationer for individer
  group_by(Skov, Plot, Skovtype, Alder) %>%
  summarise(AntalArter = n_distinct(Art, na.rm = TRUE))
## `summarise()` has grouped output by 'Skov', 'Plot', 'Skovtype'. You can
## override using the `.groups` argument.
#Boxplot, der viser hvordan antallet af arter varierer med 'Skovtype' og 'Alder' 

library(ggplot2)

ggplot(ArterPrPlot, aes(x = Skovtype, y = AntalArter, fill = Alder)) +
  geom_boxplot() +
  labs(x = "Skovtype", y = "Antal arter pr. plot", title = "Antal af fuglearter pr. plot i forskellige skovtyper og aldre") +
  theme_minimal()

library(dplyr)
library(ggplot2)

# Beregn antal arter pr. skov
ArterPrSkov <- Data %>%
  filter(Metode == "EgenObs",
         !grepl("^Ukendt_sp", Art)) %>%  # fjern ukendte arter
  group_by(Skov, Skovtype, Alder) %>%
  summarise(AntalArter = n_distinct(Art, na.rm = TRUE), .groups = "drop")

# Boxplot pr. skovtype og alder
ggplot(ArterPrSkov, aes(x = Skovtype, y = AntalArter, fill = Alder)) +
  geom_boxplot() +
  labs(
    x = "Skovtype",
    y = "Antal arter pr. skov",
    title = "Antal af fuglearter i forskellige skovtyper og aldre"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(size = 12),
        axis.text.y = element_text(size = 10),
        legend.title = element_text(size = 12),
        legend.text = element_text(size = 10))

library(ggplot2)
library(dplyr)

Data %>%
  filter(!grepl("^Ukendt_sp", Art), Art != "Rørsanger") %>%  # fjerner alle arter der starter med "Ukendt_sp"
  group_by(Metode, Art) %>%
  summarise(TotalRegistreret = sum(Registreret, na.rm = TRUE)) %>%
  ggplot(aes(x = reorder(Art, TotalRegistreret), y = TotalRegistreret, fill = Metode)) +
  geom_col(position = "dodge") +
  coord_flip() +
  labs(x = "Fugleart", y = "Antal registreringer", title = "Registreringer pr. art og metode")
## `summarise()` has grouped output by 'Metode'. You can override using the
## `.groups` argument.

Shannon og Simpsons indekser

Shannon og Simpsons diversitet pr. skov
Skov Shannon-indeks Simpson-indeks
Lillering skov 2.55 0.88
Blå skov 2.38 0.89
Sneptrup Præstegårdsskov 1 2.32 0.86
Genbrugsskoven 2.29 0.87
Sneptrup Præstegårdsskov 2 2.29 0.84
Sneptrup Præstegårdsskov 3 2.28 0.86
Søbakke skovbadeskov 2.16 0.86
Østerby skov 2.05 0.83
Hasselager vildskov 2.00 0.82
Hørret Eg 1.99 0.80
Karl Holm Eg 1.93 0.84
Geding Eg 1.60 0.76