Eira barbara Variable Selection

Author

Florencia Grattarola

Published

September 30, 2024

Variable Selection for Eira barbara, using the data generated in the previous step.

library(knitr)
library(dismo)
library(gbm)
library(randomForest)
library(ranger) # for the Random Forest
library(terra)
terraOptions(tempdir='big_data/temp')
library(sf)
library(tidyverse)

28 Predictors

  • bio1: Annual Mean Temperature, from Bioclimatic variables (WorldClim V2.1)
  • bio2: Mean Diurnal Range (Mean of monthly (max temp - min temp)), from Bioclimatic variables (WorldClim V2.1)
  • bio3: Isothermality (BIO2/BIO7) (×100), from Bioclimatic variables (WorldClim V2.1)
  • bio4: Temperature Seasonality (standard deviation ×100), from Bioclimatic variables (WorldClim V2.1)
  • bio5: Max Temperature of Warmest Month, from Bioclimatic variables (WorldClim V2.1)
  • bio6: Min Temperature of Coldest Month, from Bioclimatic variables (WorldClim V2.1)
  • bio7: Temperature Annual Range (BIO5-BIO6), from Bioclimatic variables (WorldClim V2.1)
  • bio8: Mean Temperature of Wettest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio9: Mean Temperature of Driest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio10: Mean Temperature of Warmest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio11: Mean Temperature of Coldest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio12: Annual Precipitation, from Bioclimatic variables (WorldClim V2.1)
  • bio13: Precipitation of Wettest Month, from Bioclimatic variables (WorldClim V2.1)
  • bio14: Precipitation of Driest Month, from Bioclimatic variables (WorldClim V2.1)
  • bio15: Precipitation Seasonality (Coefficient of Variation), from Bioclimatic variables (WorldClim V2.1)
  • bio16: Precipitation of Wettest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio17: Precipitation of Driest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio18: Precipitation of Warmest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • bio19: Precipitation of Coldest Quarter, from Bioclimatic variables (WorldClim V2.1)
  • elev: Elevation (WorldClim V2.1 SRTM elevation data), from Bioclimatic variables (WorldClim V2.1)
  • urban: Urban and Built-up Lands, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • barren: Barren, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • water: Water Bodies, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • savanna: Savannas, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • woodysavanna: Woody savannas, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • wetland: Permanent Wetlands, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • grass: Grasslands, from Land cover LC1 (MODIS TERRA LandCover_Type_Yearly_500m (MCD12Q1))
  • npp: Net Primary Production (NPP) (MODIS TERRA Net_PP_GapFil_Yearly_500m (M*D17A3HGF))
  • tree: Percentage of Tree Cover, from Vegetation Continuous Fields (MODIS TERRA Veg_Cont_Fields_Yearly_250m (MOD44B))
  • nontree: Percentage of No Tree Cover, from Vegetation Continuous Fields (MODIS TERRA Veg_Cont_Fields_Yearly_250m (MOD44B))
  • nonveg: Percentage of Non Tree Vegetation Cover, from Vegetation Continuous Fields (MODIS TERRA Veg_Cont_Fields_Yearly_250m (MOD44B))
Code
bio <- rast('big_data/bio_high.tif')
elev <- rast('big_data/elev_high.tif')
urban <- rast('big_data/urban_high.tif') %>% resample(., elev)
barren  <- rast('big_data/barren_high.tif') %>% resample(., elev)
water <- rast('big_data/water_high.tif') %>% resample(., elev)
savanna <- rast('big_data/savanna_high.tif') %>% resample(., elev)
woodysavanna <- rast('big_data/woodysavanna_high.tif') %>% resample(., elev)
wetland <- rast('big_data/wetland_high.tif') %>% resample(., elev)
grass <- rast('big_data/grass_high.tif') %>% resample(., elev)
npp <- rast('big_data/npp_high.tif') %>% resample(., elev)
names(npp) <- 'npp'
tree <- rast('big_data/tree_high.tif') %>% resample(., elev)
nontree <- rast('big_data/nontree_high.tif') %>% resample(., elev)
nonveg <- rast('big_data/nonveg_high.tif') %>% resample(., elev)

env <- c(bio, elev, urban, barren, water, 
         savanna, woodysavanna, wetland, 
         grass, npp, tree, nontree, nonveg) %>% scale()

rm(bio, elev, urban, barren, water, 
         savanna, woodysavanna, wetland, 
         grass, npp, tree, nontree, nonveg)

gc()

Eira barbara’ preferences

We will use the data from both periods

Code
PA_time1 <- readRDS('data/species_POPA_data/PA_ebarbara_time1_blobs.rds')%>% ungroup()
PA_time2 <- readRDS('data/species_POPA_data/PA_ebarbara_time2_blobs.rds')%>% ungroup()

PA_time1 %>% st_drop_geometry() %>% head() %>% kable()
ID presence temporalSpan effort blobArea
1 0 1365 days 1043 241873943 [m^2]
2 1 1769 days 2404 537081878 [m^2]
3 1 6222 days 11078 2241827859 [m^2]
4 0 720 days 1291 162791738 [m^2]
5 0 1769 days 1779 756798182 [m^2]
6 0 304 days 3300 19990863 [m^2]
Code
PA_time2 %>% st_drop_geometry() %>% head() %>% kable()
ID presence temporalSpan effort blobArea
1 1 510 days 11095 2.229446e+09 [m^2]
2 1 150 days 12276 1.542295e+03 [m^2]
3 1 407 days 1585 1.049520e-01 [m^2]
4 1 869 days 1440 7.494574e+01 [m^2]
5 1 70 days 400 2.546836e+01 [m^2]
6 1 756 days 7164 2.398904e-01 [m^2]

Presence-absence data for the second period

Preparation of data for the tests

Code
# combine pre and pos datasets
PA.data <- st_join(PA_time1, PA_time2 %>% dplyr::select(presence), left = T) %>% 
  group_by(ID) %>%  
  mutate(presence=max(presence.x, presence.y, na.rm = T)) 

# calculate area, coordinates, and extract env predictors for each blob
PA.coords <- st_coordinates(st_centroid(PA.data)) %>% as_tibble()
PA.area <- as.numeric(PA.data$blobArea) 

PA.env <- terra::extract(x = env, y = vect(PA.data),
                         fun = mean, rm.na=T) %>% 
  mutate(across(where(is.numeric), ~ifelse(is.nan(.), NA, .)))

## the data
PA <- data.frame(PA.coords,
                 area = PA.area,
                 presabs = PA.data$presence,
                 env = PA.env)

Correlation between variables

Code
PA %>% filter(!if_any(everything(), is.na)) %>% dplyr::select(-c(1:5)) %>% cor() %>% kable()
env.bio_1 env.bio_2 env.bio_3 env.bio_4 env.bio_5 env.bio_6 env.bio_7 env.bio_8 env.bio_9 env.bio_10 env.bio_11 env.bio_12 env.bio_13 env.bio_14 env.bio_15 env.bio_16 env.bio_17 env.bio_18 env.bio_19 env.elev env.urban env.barren env.water env.savanna env.woodysavanna env.wetland env.grass env.npp env.tree env.nontree env.nonveg
env.bio_1 1.0000000 0.9296441 0.9683961 0.2245524 0.3650713 -0.0974913 0.2598362 0.4133726 -0.1088920 -0.2171595 0.1956382 -0.2049978 0.6915905 -0.6813646 0.8361199 0.9132283 -0.5533539 0.8696582 0.9064849 -0.6579087 -0.2201133 -0.0977410 0.2893823 -0.0024650 0.0280840 0.1505896 -0.1029622 -0.5423448 0.2241057 0.1944363 0.3216861
env.bio_2 0.9296441 1.0000000 0.8201186 0.1070940 0.1263286 -0.0188141 0.1075105 0.1704404 -0.0270968 -0.2734955 0.1868085 -0.1426003 0.4381869 -0.3771548 0.9194218 0.7840670 -0.3309997 0.8667005 0.7893311 -0.8088566 -0.2416197 -0.1129521 0.2673516 0.0269795 0.0437261 0.2158389 -0.1911302 -0.5957826 0.2394162 0.2026016 0.3128536
env.bio_3 0.9683961 0.8201186 1.0000000 0.3145337 0.4841739 -0.0902739 0.3019023 0.5416489 -0.1019188 -0.2194668 0.2423853 -0.2688312 0.8182906 -0.8385889 0.7284579 0.9531144 -0.6805953 0.7863656 0.9351986 -0.5387853 -0.1778445 -0.0766928 0.3146130 -0.0212454 0.0151050 0.0830030 -0.0941385 -0.4287304 0.2510269 0.1763470 0.3326884
env.bio_4 0.2245524 0.1070940 0.3145337 1.0000000 0.7642354 0.7267723 -0.4858212 0.7801517 0.7257054 0.3332077 0.7446606 -0.5595604 0.5005643 -0.4148608 -0.0696912 0.4462757 -0.6123342 0.0898132 0.3375557 -0.2702648 0.0226405 -0.1373670 0.3077364 -0.4152737 -0.1495779 -0.1146293 -0.1512988 0.2195306 0.5598284 -0.0677038 0.2675771
env.bio_5 0.3650713 0.1263286 0.4841739 0.7642354 1.0000000 0.1933128 0.1171199 0.9784670 0.1835373 0.3598166 0.4346112 -0.3516015 0.6733107 -0.6659381 -0.0034808 0.5031871 -0.6367356 0.2330854 0.4266622 -0.0644255 0.0457209 -0.1574742 0.2459976 -0.3587865 -0.0619659 -0.1330635 0.1157962 0.0741961 0.3196852 0.0073694 0.2150625
env.bio_6 -0.0974913 -0.0188141 -0.0902739 0.7267723 0.1933128 1.0000000 -0.8648488 0.1913458 0.9965494 0.1837194 0.7740640 -0.5300579 0.0892696 0.1186764 -0.1996677 0.1249108 -0.3001855 -0.1378122 0.0099549 -0.3037383 -0.0295608 -0.0459756 0.2895092 -0.3454885 -0.1352915 -0.0004524 -0.3242425 0.2813411 0.5902548 -0.0208942 0.2560326
env.bio_7 0.2598362 0.1075105 0.3019023 -0.4858212 0.1171199 -0.8648488 1.0000000 0.1220172 -0.8782263 -0.1345391 -0.5756748 0.4185941 0.2440087 -0.3840589 0.2496259 0.1033349 0.0482055 0.2443413 0.1945389 0.2985608 0.0225795 -0.0051382 -0.1606119 0.2264854 0.1850820 -0.0391527 0.2617882 -0.2260104 -0.4273476 0.0504557 -0.1488980
env.bio_8 0.4133726 0.1704404 0.5416489 0.7801517 0.9784670 0.1913458 0.1220172 1.0000000 0.1819016 0.3180265 0.4533295 -0.4161798 0.7057661 -0.7191324 0.0339333 0.5715997 -0.6962200 0.2568050 0.4948495 -0.1003456 0.0642175 -0.1537781 0.2693363 -0.3170436 -0.0375880 -0.1611847 0.0346935 0.0835534 0.3395489 -0.0039337 0.2253595
env.bio_9 -0.1088920 -0.0270968 -0.1019188 0.7257054 0.1835373 0.9965494 -0.8782263 0.1819016 1.0000000 0.1840244 0.7748265 -0.5272262 0.0770351 0.1295226 -0.2067214 0.1137978 -0.2912206 -0.1496451 -0.0013905 -0.3043808 -0.0294760 -0.0483047 0.2836730 -0.3479909 -0.1389403 -0.0005642 -0.3307918 0.2925463 0.5897787 -0.0290542 0.2499643
env.bio_10 -0.2171595 -0.2734955 -0.2194668 0.3332077 0.3598166 0.1837194 -0.1345391 0.3180265 0.1840244 1.0000000 -0.1092807 -0.1343382 -0.0811383 0.1021154 -0.4429341 -0.1997582 -0.0648619 -0.0145843 -0.3385074 0.1685297 0.2582501 -0.1263971 -0.1456711 -0.2570984 0.0182359 -0.0638922 0.0956723 0.2583383 -0.0288362 -0.1901205 -0.1873301
env.bio_11 0.1956382 0.1868085 0.2423853 0.7446606 0.4346112 0.7740640 -0.5756748 0.4533295 0.7748265 -0.1092807 1.0000000 -0.6357030 0.4318087 -0.2273811 -0.0001334 0.4547914 -0.5733417 0.0224191 0.3619071 -0.3934250 -0.0896497 -0.0345635 0.4128212 -0.3398411 -0.0967487 -0.0340330 -0.2794210 0.1254955 0.6191653 0.0444401 0.3673542
env.bio_12 -0.2049978 -0.1426003 -0.2688312 -0.5595604 -0.3516015 -0.5300579 0.4185941 -0.4161798 -0.5272262 -0.1343382 -0.6357030 1.0000000 -0.3325137 0.3049036 0.1966475 -0.5250598 0.8023981 -0.0861157 -0.3309889 0.3821173 -0.0890791 0.0167159 -0.4386322 0.3434812 0.0467406 -0.0727980 0.3469681 -0.1737652 -0.5951082 -0.0668483 -0.3700583
env.bio_13 0.6915905 0.4381869 0.8182906 0.5005643 0.6733107 0.0892696 0.2440087 0.7057661 0.0770351 -0.0811383 0.4318087 -0.3325137 1.0000000 -0.9118016 0.3261453 0.8255327 -0.8073928 0.4789765 0.7641805 -0.2005044 -0.1124490 -0.0021708 0.3366226 -0.1551412 -0.0112436 -0.0695311 -0.0158723 -0.1472418 0.2873553 0.1459596 0.3206495
env.bio_14 -0.6813646 -0.3771548 -0.8385889 -0.4148608 -0.6659381 0.1186764 -0.3840589 -0.7191324 0.1295226 0.1021154 -0.2273811 0.3049036 -0.9118016 1.0000000 -0.3065325 -0.8003439 0.7896644 -0.4447706 -0.7650724 0.1075528 0.0491570 0.0151001 -0.2590556 0.0693126 0.0098816 0.0774311 -0.0168947 0.1143688 -0.1926304 -0.0852376 -0.2445389
env.bio_15 0.8361199 0.9194218 0.7284579 -0.0696912 -0.0034808 -0.1996677 0.2496259 0.0339333 -0.2067214 -0.4429341 -0.0001334 0.1966475 0.3261453 -0.3065325 1.0000000 0.6102757 -0.0543381 0.7628378 0.7072778 -0.6630353 -0.2740025 -0.1002805 0.1226871 0.1672372 0.0462821 0.1653903 -0.0906072 -0.6102193 0.0503882 0.1630034 0.1918470
env.bio_16 0.9132283 0.7840670 0.9531144 0.4462757 0.5031871 0.1249108 0.1033349 0.5715997 0.1137978 -0.1997582 0.4547914 -0.5250598 0.8255327 -0.8003439 0.6102757 1.0000000 -0.8241800 0.7110844 0.9320639 -0.6213394 -0.1491519 -0.0630686 0.4173645 -0.1202489 0.0029894 0.1034344 -0.2159955 -0.3303117 0.4202314 0.1793595 0.4141109
env.bio_17 -0.5533539 -0.3309997 -0.6805953 -0.6123342 -0.6367356 -0.3001855 0.0482055 -0.6962200 -0.2912206 -0.0648619 -0.5733417 0.8023981 -0.8073928 0.7896644 -0.0543381 -0.8241800 1.0000000 -0.3509483 -0.6692034 0.3091761 -0.0078816 0.0078058 -0.4383634 0.2711251 0.0293186 -0.0121391 0.2074795 -0.0198950 -0.4936629 -0.1095460 -0.3848206
env.bio_18 0.8696582 0.8667005 0.7863656 0.0898132 0.2330854 -0.1378122 0.2443413 0.2568050 -0.1496451 -0.0145843 0.0224191 -0.0861157 0.4789765 -0.4447706 0.7628378 0.7110844 -0.3509483 1.0000000 0.6106291 -0.5930138 -0.1337635 -0.0844168 0.1904426 -0.0413308 0.0667723 0.1977084 -0.0870639 -0.5298813 0.1649284 0.1344020 0.2359080
env.bio_19 0.9064849 0.7893311 0.9351986 0.3375557 0.4266622 0.0099549 0.1945389 0.4948495 -0.0013905 -0.3385074 0.3619071 -0.3309889 0.7641805 -0.7650724 0.7072778 0.9320639 -0.6692034 0.6106291 1.0000000 -0.5894832 -0.2207150 -0.0580746 0.3417830 0.0150607 0.0015716 0.0673108 -0.1438877 -0.4089540 0.2748842 0.1941162 0.3490410
env.elev -0.6579087 -0.8088566 -0.5387853 -0.2702648 -0.0644255 -0.3037383 0.2985608 -0.1003456 -0.3043808 0.1685297 -0.3934250 0.3821173 -0.2005044 0.1075528 -0.6630353 -0.6213394 0.3091761 -0.5930138 -0.5894832 1.0000000 0.1776808 0.0973969 -0.2664306 0.0973135 0.0062860 -0.1804121 0.3347777 0.3623028 -0.3968661 -0.0874815 -0.3009313
env.urban -0.2201133 -0.2416197 -0.1778445 0.0226405 0.0457209 -0.0295608 0.0225795 0.0642175 -0.0294760 0.2582501 -0.0896497 -0.0890791 -0.1124490 0.0491570 -0.2740025 -0.1491519 -0.0078816 -0.1337635 -0.2207150 0.1776808 1.0000000 -0.0109690 -0.0607542 -0.0470701 0.0318901 -0.0606497 -0.0753713 0.1344147 -0.0366332 -0.0745566 -0.0958183
env.barren -0.0977410 -0.1129521 -0.0766928 -0.1373670 -0.1574742 -0.0459756 -0.0051382 -0.1537781 -0.0483047 -0.1263971 -0.0345635 0.0167159 -0.0021708 0.0151001 -0.1002805 -0.0630686 0.0078058 -0.0844168 -0.0580746 0.0973969 -0.0109690 1.0000000 -0.0116914 -0.0361940 -0.0154035 -0.0116054 -0.0235731 -0.0790421 -0.0543190 -0.0802550 0.0973328
env.water 0.2893823 0.2673516 0.3146130 0.3077364 0.2459976 0.2895092 -0.1606119 0.2693363 0.2836730 -0.1456711 0.4128212 -0.4386322 0.3366226 -0.2590556 0.1226871 0.4173645 -0.4383634 0.1904426 0.3417830 -0.2664306 -0.0607542 -0.0116914 1.0000000 -0.1898651 -0.0920385 0.1375010 -0.1324898 -0.3658775 0.7287007 0.7473932 0.9149495
env.savanna -0.0024650 0.0269795 -0.0212454 -0.4152737 -0.3587865 -0.3454885 0.2264854 -0.3170436 -0.3479909 -0.2570984 -0.3398411 0.3434812 -0.1551412 0.0693126 0.1672372 -0.1202489 0.2711251 -0.0413308 0.0150607 0.0973135 -0.0470701 -0.0361940 -0.1898651 1.0000000 -0.1167850 -0.1579102 -0.1249173 -0.1437237 -0.4725033 0.1212126 -0.2018991
env.woodysavanna 0.0280840 0.0437261 0.0151050 -0.1495779 -0.0619659 -0.1352915 0.1850820 -0.0375880 -0.1389403 0.0182359 -0.0967487 0.0467406 -0.0112436 0.0098816 0.0462821 0.0029894 0.0293186 0.0667723 0.0015716 0.0062860 0.0318901 -0.0154035 -0.0920385 -0.1167850 1.0000000 -0.0847233 -0.1104016 0.0006886 -0.0777231 -0.1006558 -0.1058182
env.wetland 0.1505896 0.2158389 0.0830030 -0.1146293 -0.1330635 -0.0004524 -0.0391527 -0.1611847 -0.0005642 -0.0638922 -0.0340330 -0.0727980 -0.0695311 0.0774311 0.1653903 0.1034344 -0.0121391 0.1977084 0.0673108 -0.1804121 -0.0606497 -0.0116054 0.1375010 -0.1579102 -0.0847233 1.0000000 -0.1258117 -0.3612828 0.2205404 0.2479464 0.2796946
env.grass -0.1029622 -0.1911302 -0.0941385 -0.1512988 0.1157962 -0.3242425 0.2617882 0.0346935 -0.3307918 0.0956723 -0.2794210 0.3469681 -0.0158723 -0.0168947 -0.0906072 -0.2159955 0.2074795 -0.0870639 -0.1438877 0.3347777 -0.0753713 -0.0235731 -0.1324898 -0.1249173 -0.1104016 -0.1258117 1.0000000 -0.1337146 -0.4646464 0.2073061 -0.1003525
env.npp -0.5423448 -0.5957826 -0.4287304 0.2195306 0.0741961 0.2813411 -0.2260104 0.0835534 0.2925463 0.2583383 0.1254955 -0.1737652 -0.1472418 0.1143688 -0.6102193 -0.3303117 -0.0198950 -0.5298813 -0.4089540 0.3623028 0.1344147 -0.0790421 -0.3658775 -0.1437237 0.0006886 -0.3612828 -0.1337146 1.0000000 -0.0468240 -0.5293037 -0.4653541
env.tree 0.2241057 0.2394162 0.2510269 0.5598284 0.3196852 0.5902548 -0.4273476 0.3395489 0.5897787 -0.0288362 0.6191653 -0.5951082 0.2873553 -0.1926304 0.0503882 0.4202314 -0.4936629 0.1649284 0.2748842 -0.3968661 -0.0366332 -0.0543190 0.7287007 -0.4725033 -0.0777231 0.2205404 -0.4646464 -0.0468240 1.0000000 0.2718941 0.7398183
env.nontree 0.1944363 0.2026016 0.1763470 -0.0677038 0.0073694 -0.0208942 0.0504557 -0.0039337 -0.0290542 -0.1901205 0.0444401 -0.0668483 0.1459596 -0.0852376 0.1630034 0.1793595 -0.1095460 0.1344020 0.1941162 -0.0874815 -0.0745566 -0.0802550 0.7473932 0.1212126 -0.1006558 0.2479464 0.2073061 -0.5293037 0.2718941 1.0000000 0.7880283
env.nonveg 0.3216861 0.3128536 0.3326884 0.2675771 0.2150625 0.2560326 -0.1488980 0.2253595 0.2499643 -0.1873301 0.3673542 -0.3700583 0.3206495 -0.2445389 0.1918470 0.4141109 -0.3848206 0.2359080 0.3490410 -0.3009313 -0.0958183 0.0973328 0.9149495 -0.2018991 -0.1058182 0.2796946 -0.1003525 -0.4653541 0.7398183 0.7880283 1.0000000

Variable Importance analyses

Simple GLM

Code
presabs.glm <- PA %>% 
  dplyr::select(-c(1,2,3,5)) %>% 
  filter(!is.na(env.elev)&!is.na(env.bio_1))

glm.full<- glm(presabs ~., 
               family = "binomial", 
               data = presabs.glm)

summary(glm.full)

Call:
glm(formula = presabs ~ ., family = "binomial", data = presabs.glm)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.8609  -0.7373  -0.3816   0.6826   2.4389  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)    
(Intercept)      -6.566e+00  1.122e+01  -0.585 0.558439    
env.bio_1         2.660e+01  7.881e+00   3.375 0.000739 ***
env.bio_2         1.148e+01  7.799e+00   1.472 0.140916    
env.bio_3        -4.750e+01  1.581e+01  -3.003 0.002669 ** 
env.bio_4         2.697e+00  2.039e+00   1.323 0.185931    
env.bio_5        -5.395e+00  1.539e+00  -3.504 0.000458 ***
env.bio_6        -2.581e+00  1.608e+00  -1.605 0.108445    
env.bio_7         1.325e+00  6.730e-01   1.970 0.048894 *  
env.bio_8         2.647e+00  2.030e+00   1.304 0.192111    
env.bio_9         3.252e+00  2.080e+00   1.564 0.117858    
env.bio_10        2.311e-01  4.050e-01   0.571 0.568335    
env.bio_11        2.377e-01  5.418e-01   0.439 0.660853    
env.bio_12        1.991e+00  1.804e+00   1.104 0.269786    
env.bio_13       -1.078e+00  1.361e+00  -0.792 0.428301    
env.bio_14       -2.235e+01  8.404e+00  -2.660 0.007821 ** 
env.bio_15       -5.314e+05  1.012e+06  -0.525 0.599594    
env.bio_16        8.907e+05  1.697e+06   0.525 0.599597    
env.bio_17        7.569e+05  1.442e+06   0.525 0.599598    
env.bio_18        1.103e+00  9.738e-01   1.132 0.257560    
env.bio_19       -1.566e+00  1.600e+00  -0.979 0.327550    
env.elev         -9.271e-01  9.762e-01  -0.950 0.342270    
env.urban         3.173e-01  2.034e-01   1.560 0.118775    
env.barren       -2.435e+01  5.659e+01  -0.430 0.667026    
env.water        -9.433e-02  2.250e-01  -0.419 0.675005    
env.savanna       4.191e-01  2.203e-01   1.903 0.057100 .  
env.woodysavanna  1.069e-01  2.224e-01   0.480 0.630872    
env.wetland      -3.750e-02  1.104e-01  -0.340 0.734146    
env.grass        -1.940e-02  3.162e-01  -0.061 0.951064    
env.npp           6.397e-01  3.139e-01   2.038 0.041558 *  
env.tree          5.212e-01  5.012e-01   1.040 0.298342    
env.nontree      -4.879e-01  4.521e-01  -1.079 0.280524    
env.nonveg        2.303e-01  5.771e-01   0.399 0.689776    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 742.01  on 558  degrees of freedom
Residual deviance: 514.62  on 527  degrees of freedom
AIC: 578.62

Number of Fisher Scoring iterations: 11
Code
step(glm.full) # step might not work with gam so glm
Start:  AIC=578.62
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_10 + 
    env.bio_11 + env.bio_12 + env.bio_13 + env.bio_14 + env.bio_15 + 
    env.bio_16 + env.bio_17 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.water + env.savanna + env.woodysavanna + 
    env.wetland + env.grass + env.npp + env.tree + env.nontree + 
    env.nonveg

                   Df Deviance    AIC
- env.grass         1   514.62 576.62
- env.wetland       1   514.74 576.74
- env.nonveg        1   514.78 576.78
- env.water         1   514.79 576.79
- env.bio_11        1   514.81 576.81
- env.woodysavanna  1   514.85 576.85
- env.bio_17        1   514.89 576.89
- env.bio_16        1   514.89 576.89
- env.bio_15        1   514.89 576.89
- env.bio_10        1   514.94 576.94
- env.bio_13        1   515.24 577.24
- env.barren        1   515.25 577.25
- env.elev          1   515.49 577.49
- env.bio_19        1   515.66 577.66
- env.tree          1   515.71 577.71
- env.nontree       1   515.78 577.78
- env.bio_12        1   515.82 577.82
- env.bio_18        1   515.93 577.93
- env.bio_8         1   516.32 578.32
- env.bio_4         1   516.44 578.44
<none>                  514.62 578.62
- env.bio_2         1   516.85 578.85
- env.bio_9         1   517.10 579.10
- env.bio_6         1   517.21 579.21
- env.urban         1   517.34 579.34
- env.savanna       1   518.34 580.34
- env.bio_7         1   518.75 580.75
- env.npp           1   519.03 581.03
- env.bio_14        1   522.02 584.02
- env.bio_3         1   524.18 586.18
- env.bio_1         1   527.08 589.08
- env.bio_5         1   527.61 589.61

Step:  AIC=576.62
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_10 + 
    env.bio_11 + env.bio_12 + env.bio_13 + env.bio_14 + env.bio_15 + 
    env.bio_16 + env.bio_17 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.water + env.savanna + env.woodysavanna + 
    env.wetland + env.npp + env.tree + env.nontree + env.nonveg

                   Df Deviance    AIC
- env.wetland       1   514.74 574.74
- env.nonveg        1   514.78 574.78
- env.water         1   514.79 574.79
- env.bio_11        1   514.81 574.81
- env.woodysavanna  1   514.88 574.88
- env.bio_17        1   514.90 574.90
- env.bio_16        1   514.90 574.90
- env.bio_15        1   514.90 574.90
- env.bio_10        1   514.95 574.95
- env.bio_13        1   515.25 575.25
- env.barren        1   515.25 575.25
- env.elev          1   515.56 575.56
- env.bio_19        1   515.67 575.67
- env.nontree       1   515.82 575.82
- env.bio_12        1   515.82 575.82
- env.bio_18        1   515.93 575.93
- env.tree          1   516.08 576.08
- env.bio_4         1   516.45 576.45
- env.bio_8         1   516.58 576.58
<none>                  514.62 576.62
- env.bio_2         1   516.85 576.85
- env.bio_9         1   517.16 577.16
- env.bio_6         1   517.26 577.26
- env.urban         1   517.41 577.41
- env.bio_7         1   518.78 578.78
- env.npp           1   519.04 579.04
- env.savanna       1   520.44 580.44
- env.bio_14        1   522.03 582.03
- env.bio_3         1   524.18 584.18
- env.bio_1         1   527.10 587.10
- env.bio_5         1   529.74 589.74

Step:  AIC=574.74
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_10 + 
    env.bio_11 + env.bio_12 + env.bio_13 + env.bio_14 + env.bio_15 + 
    env.bio_16 + env.bio_17 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.water + env.savanna + env.woodysavanna + 
    env.npp + env.tree + env.nontree + env.nonveg

                   Df Deviance    AIC
- env.water         1   514.83 572.83
- env.nonveg        1   514.90 572.90
- env.bio_11        1   514.92 572.92
- env.bio_17        1   515.02 573.02
- env.bio_16        1   515.02 573.02
- env.bio_15        1   515.02 573.02
- env.bio_10        1   515.04 573.04
- env.woodysavanna  1   515.06 573.06
- env.bio_13        1   515.28 573.28
- env.barren        1   515.33 573.33
- env.elev          1   515.68 573.68
- env.bio_19        1   515.71 573.71
- env.bio_12        1   515.87 573.87
- env.bio_18        1   516.07 574.07
- env.tree          1   516.09 574.09
- env.nontree       1   516.21 574.21
- env.bio_4         1   516.53 574.53
<none>                  514.74 574.74
- env.bio_8         1   516.75 574.75
- env.bio_2         1   517.08 575.08
- env.bio_9         1   517.18 575.18
- env.bio_6         1   517.28 575.28
- env.urban         1   517.66 575.66
- env.bio_7         1   518.78 576.78
- env.npp           1   519.72 577.72
- env.savanna       1   521.24 579.24
- env.bio_14        1   522.14 580.14
- env.bio_3         1   524.21 582.21
- env.bio_1         1   527.10 585.10
- env.bio_5         1   529.85 587.85

Step:  AIC=572.83
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_10 + 
    env.bio_11 + env.bio_12 + env.bio_13 + env.bio_14 + env.bio_15 + 
    env.bio_16 + env.bio_17 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.savanna + env.woodysavanna + 
    env.npp + env.tree + env.nontree + env.nonveg

                   Df Deviance    AIC
- env.nonveg        1   514.98 570.98
- env.bio_11        1   514.99 570.99
- env.bio_17        1   515.10 571.10
- env.bio_16        1   515.10 571.10
- env.bio_15        1   515.10 571.10
- env.bio_10        1   515.11 571.11
- env.woodysavanna  1   515.14 571.14
- env.barren        1   515.38 571.38
- env.bio_13        1   515.38 571.38
- env.elev          1   515.75 571.75
- env.bio_19        1   515.81 571.81
- env.bio_12        1   516.00 572.00
- env.tree          1   516.09 572.09
- env.bio_18        1   516.16 572.16
- env.bio_4         1   516.63 572.63
- env.nontree       1   516.77 572.77
- env.bio_8         1   516.78 572.78
<none>                  514.83 572.83
- env.bio_2         1   517.16 573.16
- env.bio_9         1   517.26 573.26
- env.bio_6         1   517.34 573.34
- env.urban         1   517.84 573.84
- env.bio_7         1   518.84 574.84
- env.npp           1   520.10 576.10
- env.savanna       1   521.30 577.30
- env.bio_14        1   522.20 578.20
- env.bio_3         1   524.28 580.28
- env.bio_1         1   527.22 583.22
- env.bio_5         1   529.89 585.89

Step:  AIC=570.98
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_10 + 
    env.bio_11 + env.bio_12 + env.bio_13 + env.bio_14 + env.bio_15 + 
    env.bio_16 + env.bio_17 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.savanna + env.woodysavanna + 
    env.npp + env.tree + env.nontree

                   Df Deviance    AIC
- env.bio_11        1   515.14 569.14
- env.bio_17        1   515.25 569.25
- env.bio_16        1   515.25 569.25
- env.bio_15        1   515.25 569.25
- env.woodysavanna  1   515.28 569.28
- env.bio_10        1   515.30 569.30
- env.bio_13        1   515.44 569.44
- env.barren        1   515.46 569.46
- env.bio_12        1   516.00 570.00
- env.bio_19        1   516.05 570.05
- env.elev          1   516.15 570.15
- env.bio_18        1   516.25 570.25
- env.bio_4         1   516.81 570.81
<none>                  514.98 570.98
- env.bio_8         1   517.00 571.00
- env.bio_2         1   517.33 571.33
- env.bio_9         1   517.40 571.40
- env.bio_6         1   517.52 571.52
- env.urban         1   517.84 571.84
- env.bio_7         1   518.98 572.98
- env.npp           1   520.36 574.36
- env.savanna       1   521.62 575.62
- env.nontree       1   522.09 576.09
- env.bio_14        1   522.85 576.85
- env.tree          1   523.52 577.52
- env.bio_3         1   524.74 578.74
- env.bio_1         1   527.68 581.68
- env.bio_5         1   530.51 584.51

Step:  AIC=569.14
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_10 + 
    env.bio_12 + env.bio_13 + env.bio_14 + env.bio_15 + env.bio_16 + 
    env.bio_17 + env.bio_18 + env.bio_19 + env.elev + env.urban + 
    env.barren + env.savanna + env.woodysavanna + env.npp + env.tree + 
    env.nontree

                   Df Deviance    AIC
- env.bio_10        1   515.31 567.31
- env.bio_17        1   515.43 567.43
- env.bio_16        1   515.43 567.43
- env.bio_15        1   515.43 567.43
- env.woodysavanna  1   515.44 567.44
- env.bio_13        1   515.48 567.48
- env.barren        1   515.64 567.64
- env.bio_12        1   516.16 568.16
- env.bio_19        1   516.16 568.16
- env.elev          1   516.32 568.32
- env.bio_18        1   516.44 568.44
- env.bio_4         1   516.96 568.96
<none>                  515.14 569.14
- env.bio_8         1   517.46 569.46
- env.bio_2         1   517.68 569.68
- env.bio_9         1   517.82 569.82
- env.bio_6         1   517.88 569.88
- env.urban         1   518.01 570.01
- env.bio_7         1   518.98 570.98
- env.npp           1   520.37 572.37
- env.savanna       1   521.91 573.91
- env.nontree       1   523.18 575.18
- env.bio_14        1   523.29 575.29
- env.tree          1   523.63 575.63
- env.bio_3         1   525.85 577.85
- env.bio_1         1   528.24 580.24
- env.bio_5         1   530.52 582.52

Step:  AIC=567.31
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_13 + env.bio_14 + env.bio_15 + env.bio_16 + env.bio_17 + 
    env.bio_18 + env.bio_19 + env.elev + env.urban + env.barren + 
    env.savanna + env.woodysavanna + env.npp + env.tree + env.nontree

                   Df Deviance    AIC
- env.bio_17        1   515.59 565.59
- env.bio_16        1   515.59 565.59
- env.bio_15        1   515.59 565.59
- env.woodysavanna  1   515.68 565.68
- env.barren        1   515.78 565.78
- env.bio_13        1   515.83 565.83
- env.bio_19        1   516.49 566.49
- env.elev          1   516.71 566.71
- env.bio_12        1   516.82 566.82
- env.bio_18        1   516.85 566.85
<none>                  515.31 567.31
- env.bio_8         1   517.62 567.62
- env.bio_4         1   517.71 567.71
- env.bio_2         1   517.81 567.81
- env.bio_9         1   517.97 567.97
- env.bio_6         1   518.02 568.02
- env.urban         1   518.50 568.50
- env.bio_7         1   520.25 570.25
- env.npp           1   520.97 570.97
- env.savanna       1   522.19 572.19
- env.nontree       1   523.21 573.21
- env.bio_14        1   523.36 573.36
- env.tree          1   523.67 573.67
- env.bio_3         1   526.10 576.10
- env.bio_1         1   529.67 579.67
- env.bio_5         1   531.63 581.63

Step:  AIC=565.59
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_13 + env.bio_14 + env.bio_15 + env.bio_16 + env.bio_18 + 
    env.bio_19 + env.elev + env.urban + env.barren + env.savanna + 
    env.woodysavanna + env.npp + env.tree + env.nontree

                   Df Deviance    AIC
- env.bio_16        1   515.74 563.74
- env.woodysavanna  1   515.90 563.90
- env.bio_13        1   515.99 563.99
- env.barren        1   516.02 564.02
- env.bio_19        1   516.73 564.73
- env.bio_12        1   516.93 564.93
- env.elev          1   517.02 565.02
- env.bio_18        1   517.16 565.16
<none>                  515.59 565.59
- env.bio_4         1   517.79 565.79
- env.bio_2         1   517.98 565.98
- env.bio_8         1   518.01 566.01
- env.bio_9         1   518.28 566.28
- env.bio_6         1   518.30 566.30
- env.urban         1   519.03 567.03
- env.bio_7         1   520.30 568.30
- env.bio_15        1   520.60 568.60
- env.npp           1   521.35 569.35
- env.savanna       1   522.35 570.35
- env.nontree       1   523.38 571.38
- env.bio_14        1   523.45 571.45
- env.tree          1   524.21 572.21
- env.bio_3         1   526.13 574.13
- env.bio_1         1   529.77 577.77
- env.bio_5         1   531.70 579.70

Step:  AIC=563.74
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_13 + env.bio_14 + env.bio_15 + env.bio_18 + env.bio_19 + 
    env.elev + env.urban + env.barren + env.savanna + env.woodysavanna + 
    env.npp + env.tree + env.nontree

                   Df Deviance    AIC
- env.bio_13        1   516.00 562.00
- env.woodysavanna  1   516.12 562.12
- env.barren        1   516.16 562.16
- env.bio_19        1   516.73 562.73
- env.elev          1   517.18 563.18
- env.bio_18        1   517.46 563.46
<none>                  515.74 563.74
- env.bio_4         1   517.81 563.81
- env.bio_2         1   518.12 564.12
- env.bio_8         1   518.21 564.21
- env.bio_6         1   518.43 564.43
- env.bio_9         1   518.46 564.46
- env.bio_12        1   518.58 564.58
- env.urban         1   519.72 565.72
- env.bio_7         1   520.50 566.50
- env.bio_15        1   520.93 566.93
- env.npp           1   522.08 568.08
- env.savanna       1   523.10 569.10
- env.bio_14        1   523.52 569.52
- env.nontree       1   523.84 569.84
- env.tree          1   525.09 571.09
- env.bio_3         1   526.23 572.23
- env.bio_1         1   529.78 575.78
- env.bio_5         1   531.82 577.82

Step:  AIC=562
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_14 + env.bio_15 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.savanna + env.woodysavanna + 
    env.npp + env.tree + env.nontree

                   Df Deviance    AIC
- env.woodysavanna  1   516.45 560.45
- env.barren        1   516.46 560.46
- env.bio_19        1   517.21 561.21
- env.bio_18        1   517.63 561.63
- env.elev          1   517.90 561.90
<none>                  516.00 562.00
- env.bio_2         1   518.21 562.21
- env.bio_4         1   518.41 562.41
- env.bio_8         1   518.48 562.48
- env.bio_9         1   518.49 562.49
- env.bio_12        1   518.62 562.62
- env.bio_6         1   518.64 562.64
- env.urban         1   520.06 564.06
- env.bio_7         1   520.51 564.51
- env.bio_15        1   521.09 565.09
- env.npp           1   522.23 566.23
- env.savanna       1   523.52 567.52
- env.bio_14        1   523.61 567.61
- env.nontree       1   524.62 568.62
- env.tree          1   526.05 570.05
- env.bio_3         1   526.73 570.73
- env.bio_1         1   530.57 574.57
- env.bio_5         1   532.86 576.86

Step:  AIC=560.45
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_14 + env.bio_15 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.barren + env.savanna + env.npp + env.tree + 
    env.nontree

              Df Deviance    AIC
- env.barren   1   516.94 558.94
- env.bio_19   1   517.61 559.61
- env.bio_18   1   518.20 560.20
<none>             516.45 560.45
- env.elev     1   518.54 560.54
- env.bio_4    1   518.60 560.60
- env.bio_2    1   518.96 560.96
- env.bio_9    1   519.03 561.03
- env.bio_6    1   519.06 561.06
- env.bio_12   1   519.24 561.24
- env.bio_8    1   519.68 561.68
- env.urban    1   520.32 562.32
- env.bio_7    1   521.10 563.10
- env.bio_15   1   521.58 563.58
- env.npp      1   522.36 564.36
- env.savanna  1   523.52 565.52
- env.bio_14   1   524.67 566.67
- env.nontree  1   525.49 567.49
- env.tree     1   526.14 568.14
- env.bio_3    1   527.78 569.78
- env.bio_1    1   530.86 572.86
- env.bio_5    1   535.84 577.84

Step:  AIC=558.94
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_14 + env.bio_15 + env.bio_18 + env.bio_19 + env.elev + 
    env.urban + env.savanna + env.npp + env.tree + env.nontree

              Df Deviance    AIC
- env.bio_19   1   518.17 558.17
- env.bio_18   1   518.65 558.65
- env.elev     1   518.91 558.91
<none>             516.94 558.94
- env.bio_4    1   519.10 559.10
- env.bio_2    1   519.40 559.40
- env.bio_9    1   519.57 559.57
- env.bio_6    1   519.58 559.58
- env.bio_12   1   519.69 559.69
- env.bio_8    1   520.12 560.12
- env.urban    1   520.97 560.97
- env.bio_7    1   521.71 561.71
- env.bio_15   1   522.06 562.06
- env.npp      1   523.81 563.81
- env.savanna  1   524.31 564.31
- env.bio_14   1   525.08 565.08
- env.nontree  1   525.89 565.89
- env.tree     1   526.67 566.67
- env.bio_3    1   528.22 568.22
- env.bio_1    1   531.82 571.82
- env.bio_5    1   536.16 576.16

Step:  AIC=558.17
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_14 + env.bio_15 + env.bio_18 + env.elev + env.urban + 
    env.savanna + env.npp + env.tree + env.nontree

              Df Deviance    AIC
- env.elev     1   520.09 558.09
<none>             518.17 558.17
- env.bio_9    1   520.35 558.35
- env.bio_6    1   520.69 558.69
- env.bio_8    1   520.83 558.83
- env.bio_4    1   521.17 559.17
- env.bio_2    1   521.37 559.37
- env.urban    1   522.34 560.34
- env.bio_7    1   522.43 560.43
- env.bio_12   1   523.07 561.07
- env.bio_18   1   523.82 561.82
- env.savanna  1   525.47 563.47
- env.npp      1   525.73 563.73
- env.bio_14   1   526.32 564.32
- env.bio_15   1   527.09 565.09
- env.nontree  1   527.22 565.22
- env.tree     1   528.31 566.31
- env.bio_3    1   529.64 567.64
- env.bio_1    1   531.85 569.85
- env.bio_5    1   536.64 574.64

Step:  AIC=558.09
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_8 + env.bio_9 + env.bio_12 + 
    env.bio_14 + env.bio_15 + env.bio_18 + env.urban + env.savanna + 
    env.npp + env.tree + env.nontree

              Df Deviance    AIC
- env.bio_8    1   521.77 557.77
- env.bio_9    1   521.81 557.81
<none>             520.09 558.09
- env.bio_6    1   522.54 558.54
- env.bio_7    1   523.49 559.49
- env.bio_2    1   524.01 560.01
- env.bio_4    1   524.41 560.41
- env.urban    1   524.68 560.68
- env.bio_12   1   524.79 560.79
- env.bio_18   1   525.09 561.09
- env.bio_14   1   527.51 563.51
- env.savanna  1   528.32 564.32
- env.nontree  1   529.67 565.67
- env.npp      1   529.79 565.79
- env.tree     1   530.46 566.46
- env.bio_15   1   530.64 566.64
- env.bio_3    1   530.67 566.67
- env.bio_1    1   532.25 568.25
- env.bio_5    1   536.84 572.84

Step:  AIC=557.77
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_9 + env.bio_12 + env.bio_14 + 
    env.bio_15 + env.bio_18 + env.urban + env.savanna + env.npp + 
    env.tree + env.nontree

              Df Deviance    AIC
- env.bio_9    1   522.88 556.88
<none>             521.77 557.77
- env.bio_6    1   523.90 557.90
- env.bio_12   1   525.87 559.87
- env.bio_2    1   526.32 560.32
- env.bio_18   1   526.37 560.37
- env.urban    1   526.62 560.62
- env.bio_7    1   528.10 562.10
- env.bio_14   1   529.43 563.43
- env.nontree  1   530.57 564.57
- env.savanna  1   531.84 565.84
- env.tree     1   531.86 565.86
- env.npp      1   532.37 566.37
- env.bio_3    1   532.42 566.42
- env.bio_15   1   533.50 567.50
- env.bio_1    1   533.52 567.52
- env.bio_4    1   537.68 571.68
- env.bio_5    1   541.15 575.15

Step:  AIC=556.88
presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + env.bio_5 + 
    env.bio_6 + env.bio_7 + env.bio_12 + env.bio_14 + env.bio_15 + 
    env.bio_18 + env.urban + env.savanna + env.npp + env.tree + 
    env.nontree

              Df Deviance    AIC
<none>             522.88 556.88
- env.bio_6    1   525.14 557.14
- env.bio_18   1   526.81 558.81
- env.urban    1   527.38 559.38
- env.bio_7    1   528.18 560.18
- env.bio_2    1   528.67 560.67
- env.bio_12   1   530.18 562.18
- env.bio_14   1   530.22 562.22
- env.nontree  1   531.09 563.09
- env.savanna  1   532.39 564.39
- env.bio_3    1   532.77 564.77
- env.tree     1   533.10 565.10
- env.bio_1    1   533.52 565.52
- env.npp      1   534.93 566.93
- env.bio_15   1   540.43 572.43
- env.bio_4    1   544.45 576.45
- env.bio_5    1   546.02 578.02

Call:  glm(formula = presabs ~ env.bio_1 + env.bio_2 + env.bio_3 + env.bio_4 + 
    env.bio_5 + env.bio_6 + env.bio_7 + env.bio_12 + env.bio_14 + 
    env.bio_15 + env.bio_18 + env.urban + env.savanna + env.npp + 
    env.tree + env.nontree, family = "binomial", data = presabs.glm)

Coefficients:
(Intercept)    env.bio_1    env.bio_2    env.bio_3    env.bio_4    env.bio_5  
    -1.4632      20.7750      16.7683     -43.6013       5.2812      -4.2671  
  env.bio_6    env.bio_7   env.bio_12   env.bio_14   env.bio_15   env.bio_18  
    -0.7010       1.0693       1.5955     -21.0583      -7.0540       1.4240  
  env.urban  env.savanna      env.npp     env.tree  env.nontree  
     0.3717       0.4765       0.8007       0.6285      -0.4219  

Degrees of Freedom: 558 Total (i.e. Null);  542 Residual
Null Deviance:      742 
Residual Deviance: 522.9    AIC: 556.9

Boosted regression trees

Boosted regression trees were fitted using packages: gbm and dismo — specifically the gbm.step() function (Hijmans et al., 2017)

Code
# cross-validation optimisation of a boosted regression tree model 
brt <- gbm.step(data = PA, 
                 gbm.x = 6:ncol(PA), 
                 gbm.y = "presabs", 
                 family = "bernoulli")

 
 GBM STEP - version 2.9 
 
Performing cross-validation optimisation of a boosted regression tree model 
for NA and using a family of bernoulli 
Using 565 observations and 31 predictors 
creating 10 initial models of 50 trees 

 folds are stratified by prevalence 
total mean deviance =  1.3269 
tolerance is fixed at  0.0013 
ntrees resid. dev. 
50    1.203 
now adding trees... 
100   1.1241 
150   1.0716 
200   1.0349 
250   1.0102 
300   0.9909 
350   0.975 
400   0.9623 
450   0.9522 
500   0.9433 
550   0.9355 
600   0.9291 
650   0.924 
700   0.9184 
750   0.9137 
800   0.9093 
850   0.9062 
900   0.9028 
950   0.8986 
1000   0.8945 
1050   0.8916 
1100   0.8879 
1150   0.8844 
1200   0.8818 
1250   0.8791 
1300   0.8768 
1350   0.8751 
1400   0.872 
1450   0.8697 
1500   0.8676 
1550   0.8659 
1600   0.864 
1650   0.8635 
1700   0.8618 
1750   0.8595 
1800   0.8596 
1850   0.8582 
1900   0.8569 
1950   0.8566 
2000   0.8567 
2050   0.8559 
2100   0.8563 
2150   0.8553 
2200   0.8536 
2250   0.8533 
2300   0.8527 
2350   0.8527 
2400   0.8523 
2450   0.8515 
2500   0.8515 
2550   0.852 
2600   0.8515 
2650   0.851 
2700   0.8505 
2750   0.8496 
2800   0.8489 
2850   0.8488 
2900   0.8475 
2950   0.8472 
3000   0.8477 
3050   0.8483 
3100   0.8483 
3150   0.848 
3200   0.8474 
3250   0.8485 
3300   0.8486 
3350   0.8489 
3400   0.8491 
3450   0.8488 


mean total deviance = 1.327 
mean residual deviance = 0.606 
 
estimated cv deviance = 0.847 ; se = 0.038 
 
training data correlation = 0.795 
cv correlation =  0.647 ; se = 0.024 
 
training data AUC score = 0.952 
cv AUC score = 0.87 ; se = 0.011 
 
elapsed time -  0.17 minutes 
Code
summary(brt)

                              var     rel.inf
env.npp                   env.npp 16.36571599
env.bio_10             env.bio_10 14.55387294
env.woodysavanna env.woodysavanna 13.42653096
env.nontree           env.nontree  9.13332502
env.urban               env.urban  6.08203761
env.bio_18             env.bio_18  3.63438713
env.bio_4               env.bio_4  3.41292200
env.bio_8               env.bio_8  3.24998923
env.bio_15             env.bio_15  2.96201858
env.bio_17             env.bio_17  2.90581272
env.bio_12             env.bio_12  2.69728096
env.tree                 env.tree  2.69636127
env.grass               env.grass  2.58599753
env.bio_14             env.bio_14  2.15810462
env.bio_9               env.bio_9  2.06431763
env.bio_16             env.bio_16  1.98543142
env.bio_7               env.bio_7  1.36512507
env.wetland           env.wetland  1.29455125
env.bio_19             env.bio_19  1.21964255
env.nonveg             env.nonveg  1.19108472
env.bio_13             env.bio_13  0.77959866
env.bio_2               env.bio_2  0.76835885
env.elev                 env.elev  0.76328742
env.bio_6               env.bio_6  0.75682912
env.savanna           env.savanna  0.61223648
env.bio_5               env.bio_5  0.54200687
env.bio_3               env.bio_3  0.41660876
env.bio_11             env.bio_11  0.28012471
env.bio_1               env.bio_1  0.09643991
env.barren             env.barren  0.00000000
env.water               env.water  0.00000000
Code
variables_brt <- brt$contributions[1:6,] %>% pull(var)
#exploration of shape of relationships
#gbm.plot(brt, n.plots = 12, plot.layout=c(6, 2))

Random forest

Code
presabs.rf <- PA %>% 
  dplyr::select(-c(1,2,3,5)) %>% 
  mutate(presabs = as.factor(presabs))

rf <- randomForest(presabs ~ .,
                   data=presabs.rf,
                   importance=T,
                   nperm=2, # two permutations per tree to estimate importance
                   na.action=na.omit,
                   mtry= 1/3*ncol(presabs.rf)-1)

varImpPlot(rf, type=2)

Code
variables_rf <- rf$importance %>% as_tibble(rownames = 'var') %>% arrange(desc(MeanDecreaseGini)) %>% head(n=6) %>% pull(var)

Ranger

Code
presabs.ranger <- PA %>% 
  dplyr::select(-c(1,2,3,5)) %>% 
  filter(!if_any(everything(), is.na)) %>% 
  mutate(presabs = as.factor(presabs))

## Learn the model:
ranger <- ranger(presabs ~ ., 
                 data = presabs.ranger,
                 num.trees = 150,
                 mtry = 1/3*ncol(presabs.ranger)-1,
                 min.node.size = 5,
                 max.depth = NULL,
                 write.forest = TRUE,
                 importance = "impurity")


# Get the variable importance
importance(ranger)
       env.bio_1        env.bio_2        env.bio_3        env.bio_4 
       3.9705229        7.1674218        4.8764798        7.9957307 
       env.bio_5        env.bio_6        env.bio_7        env.bio_8 
       5.6504988        6.5724679        6.1964904        7.3501020 
       env.bio_9       env.bio_10       env.bio_11       env.bio_12 
       8.1038185       25.5522344        6.2327071        6.7432816 
      env.bio_13       env.bio_14       env.bio_15       env.bio_16 
       6.5339720        8.1198586        9.2777852        5.7880864 
      env.bio_17       env.bio_18       env.bio_19         env.elev 
       6.8298731        5.5505851        4.4749455        7.2100926 
       env.urban       env.barren        env.water      env.savanna 
      12.4759667        0.2073320        0.6722292        4.4616751 
env.woodysavanna      env.wetland        env.grass          env.npp 
      18.5623381        1.7660608        6.0611602       21.8425596 
        env.tree      env.nontree       env.nonveg 
       9.0818534       17.6400638        7.1887874 
Code
importance(ranger) %>% 
  as.data.frame(row.names = names(.)) %>% 
  setNames(c("Importance")) %>% 
  rownames_to_column("covariate") %>% 
  # mutate(covariate = case_when(
  #   covariate == "env.bio_1" ~ "Annual Mean Temperature",
  # )) %>% 
  ggplot(aes(x = Importance, y = reorder(covariate, Importance))) +
  ylab('')+
  geom_point() + theme_bw()

Code
variables_ranger <- importance(ranger) %>% as_tibble(rownames = 'var') %>% arrange(desc(value)) %>% head(n=6) %>% pull(var)

Correlation

Correlation between the six more important variables detected.

  • Boosted regression tree: env.npp, env.bio_10, env.woodysavanna, env.nontree, env.urban, env.bio_18
  • Random forest: env.npp, env.bio_10, env.woodysavanna, env.nontree, env.urban, env.bio_15
  • Ranger: env.bio_10, env.npp, env.woodysavanna, env.nontree, env.urban, env.bio_15
Code
selectedVariables <- unique(c(variables_brt, variables_rf, variables_ranger))

PA %>% 
  filter(!if_any(everything(), is.na)) %>% 
  dplyr::select(selectedVariables) %>% 
  pairs()

Code
PA %>% 
  filter(!if_any(everything(), is.na)) %>% 
  dplyr::select(selectedVariables)  %>% 
  cor() %>% kable()
env.npp env.bio_10 env.woodysavanna env.nontree env.urban env.bio_18 env.bio_15
env.npp 1.0000000 0.2583383 0.0006886 -0.5293037 0.1344147 -0.5298813 -0.6102193
env.bio_10 0.2583383 1.0000000 0.0182359 -0.1901205 0.2582501 -0.0145843 -0.4429341
env.woodysavanna 0.0006886 0.0182359 1.0000000 -0.1006558 0.0318901 0.0667723 0.0462821
env.nontree -0.5293037 -0.1901205 -0.1006558 1.0000000 -0.0745566 0.1344020 0.1630034
env.urban 0.1344147 0.2582501 0.0318901 -0.0745566 1.0000000 -0.1337635 -0.2740025
env.bio_18 -0.5298813 -0.0145843 0.0667723 0.1344020 -0.1337635 1.0000000 0.7628378
env.bio_15 -0.6102193 -0.4429341 0.0462821 0.1630034 -0.2740025 0.7628378 1.0000000
Code
tmpFiles(remove=T)