Park size and species diversity

Author

Danswell Starrs

Quarto

Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.

Park size and species diversity

Aim: To assess the predictions of island biogeography theory and its implications for reserve selection and the protection of biodiversity


Introduction

Ecologists Robert MacArthur and E. O. Wilson introduced the theory of island biogeography in the 1960s. It was developed originally to predict community patterns on islands, but as we have learnt in lectures, it provides useful insights into the distribution of species in fragmented habitats. This theory attempts to explain the patterns of species composition seen on islands of different sizes and different distances from the nearest mainland. The species-area relationship illustrates how the size of an island is directly proportional to the number of species on that island. Therefore, the larger the island, the more species are found on it. That is because large islands have a much lower species extinction rate than small islands. In addition, the farther an island is from the mainland the longer it takes for new species to colonise. The balance between colonisation and extinction results in different numbers of species that can be supported by different types of islands. A large island near the mainland will have high colonisation and low extinction, thereby supporting many more species than a small island that is far away from the mainland. Figure1 illustrates the relationship between the rates of colonisation and extinction of islands.

The island biogeography model describes the relationship between the rates of immigration and extinction on islands

The island biogeography model describes the relationship between the rates of immigration and extinction on islands

Ecologists realised that this theory may also be applied to discontinuous patches of habitat on continents. Thus the species-area relationship can be used to predict the number of species that can be supported by isolated habitat patches such as forest fragments.
Although the number of species increases with habitat area the relationship is not a straight line. As a rule of thumb for every tenfold increase in magnitude (e.g. from 10 to 100) the number of species doubles. It is possible to use a formula to take into account the differences between environments. A generalised species-area relationship is as follows:

\[S = K * A^{z}\]

(number of species) = (species scale) x (area of island)^z

In this equation the species scale (K) indicates how many species are found per area in a given environment. The variable z represents how the area affects the number of species found. The larger the value of z, the more species that are added for a given amount of area. Figure 2 illustrates an example of this type of relationship for the number of bird genera found on different size islands in the South Pacific.

The bird diversity versus island size in the South Pacific

Notice that the number of genera does not increase in a straight line as the area of the island increases. However, if you take the logarithm of the area this relationship will become a straight line making the relationship easier to interpret. Figure 3 presents the same data as in Figure 2 except that the logarithm of the island area is now plotted on the x-axis.

A logarithm transformation of the bird diversity versus island size data from figure 2

Start by loading required packages:

rmarkdown is the package that allows for rendering of this document.

dplyr provides the ‘tidy’ method for piping data using %>% This makes for neater, easier-to-read code.

ggplot2 is the graphics package for making graphs.

library(rmarkdown) # for producing the pdf document
library(dplyr)
library(ggplot2)

Exercise A: The species-area relationship

Background

In this exercise you will consider national parks and other protected areas in New South Wales to look for species-area relationships in actual conservation reserves. The reserves considered in this exercise range from the coast to inland NSW, and from the north to the south, thus they cover a broad range of habitat types. We will look at mammals, birds, frogs and reptiles since pretty good data is available for these groups.

Reserve Frogs (n) Reptiles (n) Birds (n) Mammals (n) Reserve area (Ha)
Georges River NP 8 16 84 6 514
Barren Grounds NR 9 5 170 29 2024
Dorrigo NP 18 46 128 42 11902
Abercombie River NP 10 19 67 31 19000
Kaputar NP 15 48 190 44 49779
Oxley Wild Rivers NP 19 38 173 55 142333

Table 1: Number of species per taxonomic group in selected NSW reserves

Task 1 create a dataframe of the data in the above table for analysis

#Create a dataframe

species_number_area <- data.frame(Reserve = c("Georges River NP",
                                              "Barren Grounds NR",
                                              "Dorrigo NP",
                                              "Abercombie NP",
                                              "Kaputar NP",
                                              "Oxley Wild Rivers NP"),
                                  Frogs = c(8,9,18,10,15,19),
                                  Reptiles = c(16,5,46,19,48,38),
                                  Birds = c(84,170, 128, 67, 190, 173),
                                  Mammals = c(6,29,42,31,44,55),
                                  Reserve_area = c(514, 2024,11902, 19000, 49779, 142333))

Task 2 Create a graph of the number of species (y-axis) against the reserve area (x-axis) for each animal group. Make sure you clearly label each graph with the appropriate tile. Remember to label the axes.

In these plots, I am including a line of best fit, using a second-order polynomial, method = "lm", formula = y~poly(x,2). This allows me to plot a curved relationship, rather than a straight line.

frog_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Reserve_area, y = Frogs), color = "darkgreen", size = 2) + 
  geom_smooth(aes(x = Reserve_area, y = Frogs), color = "green", method = "lm", formula = y~poly(x,2), se = F) + 
  labs(x = "Reserve area (Ha)", y = "Number of frog species (N)", title = "Number of frog species by reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

frog_plot

reptile_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Reserve_area, y = Reptiles), color = "darkblue", size = 2) + 
  geom_smooth(aes(x = Reserve_area, y = Reptiles), color = "blue", method = "lm", formula = y~poly(x,2), se = F) + 
  labs(x = "Reserve area (Ha)", y = "Number of reptile species (N)", title = "Number of reptile species by reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

reptile_plot

bird_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Reserve_area, y = Birds), color = "darkred", size = 2) + 
  geom_smooth(aes(x = Reserve_area, y = Birds), color = "red", method = "lm", formula = y~poly(x,2), se = F) +
  labs(x = "Reserve area (Ha)", y = "Number of bird species (N)", title = "Number of bird species by reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

bird_plot

mammal_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Reserve_area, y = Mammals), color = "brown", size = 2) + 
  geom_smooth(aes(x = Reserve_area, y = Mammals), color = "brown", method = "lm", formula = y~poly(x,2), se = F) +
  labs(x = "Reserve area (Ha)", y = "Number of mammal species (N)", title = "Number of mammal species by reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

mammal_plot

Task 3 Create a new column, called Log_reserve_area. Recreate figures using log-reserve area.

First, create the new column, by log-transforming the column Reserve_area:

species_number_area$Log_area <- log10(species_number_area$Reserve_area)

Then, create new charts using this new column for the x-axis. In these plots, I am plotting a linear line of best fit, method = "lm", formula = y~x. Note ths produces a straight line, not a curved line in the previous task.

log_frog_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Log_area, y = Frogs), color = "darkgreen", size = 2) + 
  geom_smooth(aes(x = Log_area, y = Frogs), color = "green", method = "lm", formula = y~x, se = F) + 
  labs(x = "Log(10) Reserve area", y = "Number of frog species (N)", title = "Number of frog species by log(10) reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

log_frog_plot

log_reptile_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Log_area, y = Reptiles), color = "darkblue", size = 2) + 
  geom_smooth(aes(x = Log_area, y = Reptiles), color = "blue", method = "lm", formula = y~x, se = F) + 
  labs(x = "Log(10) Reserve area", y = "Number of reptile species (N)", title = "Number of reptile species by log(10) reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

log_reptile_plot

log_bird_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Log_area, y = Birds), color = "darkred", size = 2) + 
  geom_smooth(aes(x = Log_area, y = Birds), color = "red", method = "lm", formula = y~x, se = F) + 
  labs(x = "Log(10) Reserve area", y = "Number of bird species (N)", title = "Number of bird species by log(10) reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

log_bird_plot

log_mammal_plot <- species_number_area %>% 
  ggplot()+ 
  geom_point(aes(x = Log_area, y = Mammals), color = "brown", size = 2) + 
  geom_smooth(aes(x = Log_area, y = Mammals), color = "brown", method = "lm", formula = y~x, se = F) + 
  labs(x = "Log(10) Reserve area", y = "Number of mammal species (N)", title = "Number of mammal species by log(10) reserve area, New South Wales, Australia") + 
  theme_bw() +
  scale_x_continuous(n.breaks = 10)

log_mammal_plot

Questions

A1 How would you describe the relationship between the size of the reserve and the species number for each of the animals groups? If you drew a line to show how reserve size relates to species number, what general shape would this line have (a straight line? a curve?)?

A2 When you use the log of the reserve area, is the relationship between species number and area easier to interpret? What would the line that shows the relationship of the log of reserve size to the species number look like?

A3 Compare the graphs for the different animal groups. How are they similar and how are they different?

Exercise B: Predicting species abundance

Background

In this exercise you will predict the number of species that will occur in reserves of different sizes based on the formula for the species-area relationship. Then you will then consider the SLOSS (single large or several small reserves) debate by making different assumptions about the habitats that make up these reserves.

Recall the species-area relationship described earlier:

\[ S = K * A ^{z} \]

The species scale, K, is the number of species found per area in a specific environment. You are going to be looking at reptiles in a hypothetical forest community; the K value for the reptiles will be 6.

Researches have found that most islands or isolated parks have a z value between 0.24 and 0.35, whereas most continental areas or large contiguous tracts of land have a z value between 0.15 and 0.22. Our hypothetical forest community has a z value of 0.2.

See the following table:

Reserve Size (Ha) Log(10) Reserve Size Number of Reptile species
200
500
1000
5000
10000
50000
100000

Table 2: The number of reptile species found in reserves of different sizes

Task 1 Enter this data into a dataframe for analysis. Note that we leave the column Log_reserve_size and Reptiles empty by specifying them as "NA"

predicted_abundance <- data.frame(Reserve_size = c(200,500,1000,5000,10000,50000,100000),
                                  Log_reserve_size = NA,
                                  Reptiles = NA)

Task 2 Calculate log(10) reserve area.

predicted_abundance$Log_reserve_size <- log10(predicted_abundance$Reserve_size)

Task 3 Predict number of reptiles using the relationship between reserve size and species richness

Recall: The relationship is: \(S = K * A^{z}\)

(number of species) = (species scale) x (area of island)z

We have been told:

K = 6

z = 0.2

Enter these parameters into a formula to complete the third column in the dataframe

But first, lets create the variables in R

K <- 6
z <- 0.2
predicted_abundance$Reptiles = K * predicted_abundance$Reserve_size^z

Task 4 Create plot with predicted number of reptiles on y-axis, and reserve size (Ha) on x-axis

pred_reptiles <- predicted_abundance %>% 
  ggplot()+
  geom_point(aes(x = Reserve_size, y = Reptiles), size = 2, color = "blue") + 
  labs(x = "Reserve size (Ha)", y = "Predicted reptile species richness (N)", title = "Predicted number of reptile species by reserve size (Ha)") + 
  theme_bw() + 
  scale_x_continuous(n.breaks = 10, labels = scales::label_comma())

pred_reptiles

Then create a second plot with predicted number of reptiles on y-axis, and log(10) reserve size on x-axis:

log_pred_reptiles <- predicted_abundance %>% 
  ggplot()+
  geom_point(aes(x = Log_reserve_size, y = Reptiles), size = 2, color = "blue") + 
  labs(x = "Log(10) reserve size", y = "Predicted reptile species richness (N)", title = "Predicted number of reptile species by log(10) reserve size") + 
  theme_bw() + 
  scale_x_continuous(n.breaks = 10)

log_pred_reptiles

Task 5 Now you will consider how the value of z might affect the estimate of species number. Use the z values of 0.15 and 0.22. Set up the appropriate columns in your worksheet and fill in the missing data using the species-area formula.

To do this in R, we will create two new variables, z1 and z2

z1 <- 0.15
z2 <- 0.22

Then we compute two new columns in the dataframe, using these values in the formula:

predicted_abundance$Reptiles_0.15 = K * predicted_abundance$Reserve_size^z1

predicted_abundance$Reptiles_0.22 = K * predicted_abundance$Reserve_size^z2

Now we will plot both of them, on the one chart to see how they look:

To do this, I create a new vector to help me make a pretty legend for this figure.

#Set up some colors for plotting the legend
My_cols <- c("small_z" = "darkgreen", "large_z" = "red")
predicted_abundance %>% 
  ggplot()+
  geom_point(aes(x = Reserve_size, y = Reptiles_0.15, color = "small_z"), size = 2) + 
  geom_point(aes(x = Reserve_size, y = Reptiles_0.22, color = "large_z"), size = 2) + 
  labs(x = "Reserve size (Ha)", y = "Predicted reptile species richness (N)", title = "Predicted number of reptile species by Reserve size (Ha)", color = "Legend") + 
  scale_color_manual(values = My_cols, labels = c("z = 0.15", "z = 0.22")) + 
  theme_bw() + 
  scale_x_continuous(n.breaks = 10, labels = scales::label_comma())

Reproduce this plot, but with log(10) reserve area on the x-axis:

predicted_abundance %>% 
  ggplot()+
  geom_point(aes(x = Log_reserve_size, y = Reptiles_0.15, color = "small_z"), size = 2) + 
  geom_point(aes(x = Log_reserve_size, y = Reptiles_0.22, color = "large_z"), size = 2) + 
  labs(x = "Log(10) reserve size", y = "Predicted reptile species richness (N)", title = "Predicted number of reptile species by log(10) reserve size", color = "Legend") + 
  scale_color_manual(values = My_cols, labels = c("z = 0.15", "z = 0.22")) + 
  theme_bw() + 
  scale_x_continuous(n.breaks = 10)

Questions

B1. Are you likely to find exactly the expected number of reptile species in any of these reserves? Explain.

B2. If you cleared half of the reserve in a 5000 hectare patch of habitat how many reptile species would be lost (based on your table)? What percentage of the total would be lost?

B3. If you log 90% of the 5000 hectare patch of habitat how many and what percentage of reptile species would be lost?

B4. Based on the species-area relationship would it be better to buy two 500 hectare plots or a single 1000 hectare plot, in terms of the number of species what would be protected? What does your answer depend on?

B5. How does the number of species change if you change the value of z?

B6. When might a single large reserve be a better option than several small reserves? Think in terms of the ecology and habitat types in different situations.

B7. Under what circumstances might several small reserves be better than a single large reserve?