Data from: Climatic and vegetational drivers of insect beta diversity at the continental scale
Data files
Mar 11, 2020 version files 4.48 MB
-
comm_table_NCAmerica.zip
-
comm_table_WEurope.zip
-
site_parameters_table_NCAmerica
-
site_parameters_table_WEurope
Abstract
Aim
We construct a framework for mapping pattern and drivers of insect diversity at the continental scale and use it to test whether and which environmental gradients drive insect beta diversity.
Location
Global; North and Central America; Western Europe.
Time period
21st century.
Major taxa studied
Insects.
Methods
An informatics system was developed to integrate terrestrial data on insects with environmental parameters. We mined repositories of data for distribution, climatic data were retrieved (WorldClim), and vegetation parameters inferred from remote sensing analysis (MODIS Vegetation Continuous Fields). Beta diversity between sites was calculated and then modeled with two methods, Mantel test with multiple regression and generalized dissimilarity modeling.
Results
Geographic distance was the main driver of insect beta diversity. Independent of geographic distance, bioclimate variables explained more variance in dissimilarity than vegetation variables, although the particular variables found to be significant were more consistent in the latter, particularly, tree cover. Tree cover gradients drove compositional dissimilarity at denser coverages, in both continental case studies. For climate, gradients in temperature parameters were significant in driving beta diversity more so than gradients in precipitation parameters.
Main conclusions
Although environmental gradients drive insect beta diversity independently of geography, the relative contribution of different climatic and vegetational parameters is not expected to be consistent in different study systems. With further incorporation of additional temporal information and variables, this approach will enable the development of a predictive framework for conserving insect biodiversity at the global scale.
Usage notes
# will need to make equivelent rows using the intersect R command. example:
overlapping_samples <- intersect(row.names(params_MCL), row.names(comm_MCL));length(overlapping_samples)
comm_MCL <- comm_MCL[overlapping_samples,]
params_MCL <- params_MCL[overlapping_samples,]
# consider removing species which are found at very few sites:
column_names <- colnames(comm_MCL)
region_counts_per_species <- seq(from=0, to=0, length=length(comm_MCL[1 , ]))
for(j in 1:length(region_counts_per_species))
{
current_column <- comm_MCL[ , j ];current_column_ID <- column_names[j]
indexs <- (1:length(current_column))[current_column >= 1]; # print(c( j , current_column_ID, length(region_counts_per_species) , length(indexs) ))
if(length(indexs) >= 3){region_counts_per_species[j] <- 1}
}
rm_cols2 <- (1:length(region_counts_per_species))[region_counts_per_species == 0];print (c("removing species:" , length(rm_cols2) )); print (c( "proportion:" , length(rm_cols2) / length(comm_MCL[ 1 , ])))
# and if removing sites with few observations:
species_counts_per_region <- seq(from=0, to=0, length=length(comm_MCL[ , 1]))
for(j in 1:length(species_counts_per_region))
{
current_row <- comm_MCL[j , ]
indexs <- (1:length(current_row))[current_row >= 1]
if(length(indexs) >= 30)
{species_counts_per_region[j] <- 1}
}
rm_rows<-(1:length(species_counts_per_region))[species_counts_per_region == 0];
if(length(rm_rows) >= 1)
{
comm_MCL<-comm_MCL[-rm_rows , ];params_MCL <- params_MCL[-rm_rows , ];
}