Leopardus pardalis Variable Selection

Author

Florencia Grattarola

Published

October 1, 2024

Variable Selection for Leopardus pardalis, 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()

Species’ preferences

We will use the data from both periods

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

PA_time1 %>% st_drop_geometry() %>% head() %>% kable()
ID presence temporalSpan effort blobArea
1 1 1365 days 1043 241873943 [m^2]
2 1 1769 days 2404 537081878 [m^2]
3 1 6222 days 11078 2241827859 [m^2]
4 1 720 days 1291 162791738 [m^2]
5 1 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.9049  -0.7945   0.0678   0.8795   2.1595  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)   
(Intercept)      -8.653e+00  1.529e+01  -0.566  0.57131   
env.bio_1         2.380e+01  7.537e+00   3.158  0.00159 **
env.bio_2         4.054e+00  7.779e+00   0.521  0.60224   
env.bio_3        -2.926e+01  1.417e+01  -2.066  0.03884 * 
env.bio_4         1.608e+00  2.228e+00   0.722  0.47039   
env.bio_5        -3.347e+00  1.543e+00  -2.169  0.03010 * 
env.bio_6        -3.248e+00  1.624e+00  -2.000  0.04546 * 
env.bio_7         1.924e+00  7.820e-01   2.460  0.01388 * 
env.bio_8         2.035e+00  2.179e+00   0.934  0.35033   
env.bio_9         5.525e+00  2.085e+00   2.649  0.00806 **
env.bio_10       -5.355e-01  4.266e-01  -1.255  0.20936   
env.bio_11       -8.949e-01  5.709e-01  -1.568  0.11697   
env.bio_12        2.365e+00  1.837e+00   1.287  0.19796   
env.bio_13       -9.988e-01  1.373e+00  -0.728  0.46685   
env.bio_14       -9.770e+00  7.797e+00  -1.253  0.21019   
env.bio_15        5.392e+05  9.051e+05   0.596  0.55137   
env.bio_16       -9.038e+05  1.517e+06  -0.596  0.55137   
env.bio_17       -7.680e+05  1.289e+06  -0.596  0.55137   
env.bio_18        3.330e-01  9.266e-01   0.359  0.71927   
env.bio_19       -1.331e+00  1.480e+00  -0.900  0.36819   
env.elev          6.542e-01  1.049e+00   0.624  0.53271   
env.urban         7.417e-01  2.616e-01   2.836  0.00458 **
env.barren       -3.579e+01  7.713e+01  -0.464  0.64263   
env.water        -3.894e-01  1.958e-01  -1.989  0.04671 * 
env.savanna       4.282e-01  2.127e-01   2.014  0.04405 * 
env.woodysavanna  2.042e-01  2.176e-01   0.938  0.34813   
env.wetland       9.501e-02  8.376e-02   1.134  0.25662   
env.grass         6.547e-02  3.048e-01   0.215  0.82993   
env.npp           5.985e-01  3.156e-01   1.897  0.05787 . 
env.tree          1.290e+00  4.805e-01   2.685  0.00725 **
env.nontree      -1.174e-01  4.293e-01  -0.273  0.78450   
env.nonveg       -2.982e-01  5.562e-01  -0.536  0.59187   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 774.89  on 558  degrees of freedom
Residual deviance: 557.73  on 527  degrees of freedom
AIC: 621.73

Number of Fisher Scoring iterations: 11
Code
step(glm.full) # step might not work with gam so glm
Start:  AIC=621.73
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   557.78 619.78
- env.nontree       1   557.81 619.81
- env.bio_18        1   557.86 619.86
- env.bio_2         1   558.01 620.01
- env.nonveg        1   558.02 620.02
- env.bio_15        1   558.09 620.09
- env.bio_16        1   558.09 620.09
- env.bio_17        1   558.09 620.09
- env.elev          1   558.13 620.13
- env.bio_13        1   558.27 620.27
- env.bio_4         1   558.27 620.27
- env.bio_8         1   558.59 620.59
- env.bio_19        1   558.62 620.62
- env.woodysavanna  1   558.63 620.63
- env.barren        1   558.78 620.78
- env.wetland       1   559.06 621.06
- env.bio_14        1   559.33 621.33
- env.bio_10        1   559.33 621.33
- env.bio_12        1   559.40 621.40
<none>                  557.73 621.73
- env.bio_11        1   560.30 622.30
- env.npp           1   561.50 623.50
- env.bio_6         1   561.84 623.84
- env.water         1   561.92 623.92
- env.savanna       1   561.93 623.93
- env.bio_3         1   562.12 624.12
- env.bio_5         1   562.54 624.54
- env.bio_7         1   564.78 626.78
- env.bio_9         1   565.05 627.05
- env.tree          1   565.14 627.14
- env.bio_1         1   568.28 630.28
- env.urban         1   568.42 630.42

Step:  AIC=619.78
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.nontree       1   557.84 617.84
- env.bio_18        1   557.91 617.91
- env.nonveg        1   558.03 618.03
- env.bio_2         1   558.07 618.07
- env.bio_15        1   558.13 618.13
- env.bio_16        1   558.13 618.13
- env.bio_17        1   558.13 618.13
- env.elev          1   558.24 618.24
- env.bio_4         1   558.35 618.35
- env.bio_13        1   558.36 618.36
- env.bio_8         1   558.60 618.60
- env.woodysavanna  1   558.63 618.63
- env.bio_19        1   558.65 618.65
- env.barren        1   558.82 618.82
- env.wetland       1   559.08 619.08
- env.bio_10        1   559.38 619.38
- env.bio_14        1   559.45 619.45
- env.bio_12        1   559.45 619.45
<none>                  557.78 619.78
- env.bio_11        1   560.30 620.30
- env.npp           1   561.65 621.65
- env.bio_6         1   561.84 621.84
- env.water         1   562.00 622.00
- env.bio_3         1   562.28 622.28
- env.bio_5         1   562.84 622.84
- env.savanna       1   563.48 623.48
- env.bio_7         1   564.78 624.78
- env.bio_9         1   565.07 625.07
- env.tree          1   566.75 626.75
- env.urban         1   568.43 628.43
- env.bio_1         1   568.56 628.56

Step:  AIC=617.84
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.nonveg

                   Df Deviance    AIC
- env.bio_18        1   557.97 615.97
- env.bio_2         1   558.14 616.14
- env.bio_15        1   558.19 616.19
- env.bio_16        1   558.19 616.19
- env.bio_17        1   558.19 616.19
- env.elev          1   558.25 616.25
- env.bio_13        1   558.42 616.42
- env.bio_4         1   558.45 616.45
- env.woodysavanna  1   558.68 616.68
- env.bio_8         1   558.69 616.69
- env.bio_19        1   558.78 616.78
- env.barren        1   558.92 616.92
- env.wetland       1   559.08 617.08
- env.bio_10        1   559.39 617.39
- env.bio_12        1   559.45 617.45
- env.nonveg        1   559.67 617.67
- env.bio_14        1   559.79 617.79
<none>                  557.84 617.84
- env.bio_11        1   560.30 618.30
- env.npp           1   561.77 619.77
- env.bio_6         1   561.93 619.93
- env.bio_3         1   562.89 620.89
- env.bio_5         1   563.26 621.26
- env.water         1   563.27 621.27
- env.savanna       1   563.48 621.48
- env.bio_7         1   565.02 623.02
- env.bio_9         1   565.11 623.11
- env.urban         1   568.68 626.68
- env.bio_1         1   569.23 627.23
- env.tree          1   584.68 642.68

Step:  AIC=615.97
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_19 + env.elev + env.urban + 
    env.barren + env.water + env.savanna + env.woodysavanna + 
    env.wetland + env.npp + env.tree + env.nonveg

                   Df Deviance    AIC
- env.bio_2         1   558.27 614.27
- env.bio_15        1   558.30 614.30
- env.bio_16        1   558.30 614.30
- env.bio_17        1   558.30 614.30
- env.elev          1   558.38 614.38
- env.bio_13        1   558.54 614.54
- env.bio_4         1   558.54 614.54
- env.woodysavanna  1   558.81 614.81
- env.bio_8         1   558.85 614.85
- env.barren        1   559.05 615.05
- env.wetland       1   559.19 615.19
- env.bio_10        1   559.40 615.40
- env.bio_12        1   559.58 615.58
- env.bio_19        1   559.78 615.78
- env.nonveg        1   559.90 615.90
- env.bio_14        1   559.92 615.92
<none>                  557.97 615.97
- env.bio_11        1   560.40 616.40
- env.npp           1   561.78 617.78
- env.bio_6         1   561.98 617.98
- env.bio_3         1   563.05 619.05
- env.water         1   563.39 619.39
- env.bio_5         1   563.41 619.41
- env.savanna       1   563.66 619.66
- env.bio_9         1   565.15 621.15
- env.bio_7         1   565.15 621.15
- env.urban         1   568.80 624.80
- env.bio_1         1   569.77 625.77
- env.tree          1   585.57 641.57

Step:  AIC=614.27
presabs ~ env.bio_1 + 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_19 + env.elev + env.urban + env.barren + 
    env.water + env.savanna + env.woodysavanna + env.wetland + 
    env.npp + env.tree + env.nonveg

                   Df Deviance    AIC
- env.elev          1   558.58 612.58
- env.bio_15        1   558.66 612.66
- env.bio_16        1   558.66 612.66
- env.bio_17        1   558.66 612.66
- env.bio_4         1   558.75 612.75
- env.bio_13        1   558.85 612.85
- env.woodysavanna  1   559.24 613.24
- env.bio_8         1   559.30 613.30
- env.wetland       1   559.34 613.34
- env.barren        1   559.37 613.37
- env.bio_10        1   559.62 613.62
- env.bio_12        1   559.76 613.76
- env.nonveg        1   560.16 614.16
<none>                  558.27 614.27
- env.bio_11        1   560.53 614.53
- env.bio_19        1   560.53 614.53
- env.bio_14        1   560.64 614.64
- env.npp           1   562.72 616.72
- env.bio_6         1   562.92 616.92
- env.bio_3         1   563.81 617.81
- env.water         1   563.86 617.86
- env.savanna       1   563.90 617.90
- env.bio_5         1   564.22 618.22
- env.bio_7         1   566.70 620.70
- env.bio_9         1   566.93 620.93
- env.urban         1   571.40 625.40
- env.bio_1         1   572.11 626.11
- env.tree          1   589.60 643.60

Step:  AIC=612.58
presabs ~ env.bio_1 + 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_19 + env.urban + env.barren + env.water + 
    env.savanna + env.woodysavanna + env.wetland + env.npp + 
    env.tree + env.nonveg

                   Df Deviance    AIC
- env.bio_15        1   558.99 610.99
- env.bio_16        1   558.99 610.99
- env.bio_17        1   558.99 610.99
- env.bio_4         1   559.01 611.01
- env.bio_13        1   559.10 611.10
- env.woodysavanna  1   559.46 611.46
- env.barren        1   559.71 611.71
- env.wetland       1   559.77 611.77
- env.bio_8         1   559.82 611.82
- env.bio_10        1   560.15 612.15
- env.bio_12        1   560.17 612.17
<none>                  558.58 612.58
- env.nonveg        1   560.69 612.69
- env.bio_11        1   560.84 612.84
- env.bio_19        1   560.93 612.93
- env.bio_14        1   561.76 613.76
- env.npp           1   562.72 614.72
- env.bio_6         1   563.09 615.09
- env.water         1   563.94 615.94
- env.savanna       1   564.12 616.12
- env.bio_5         1   565.28 617.28
- env.bio_3         1   565.29 617.29
- env.bio_9         1   567.17 619.17
- env.bio_7         1   567.72 619.72
- env.urban         1   571.51 623.51
- env.bio_1         1   573.31 625.31
- env.tree          1   589.68 641.68

Step:  AIC=610.99
presabs ~ env.bio_1 + 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_16 + env.bio_17 + 
    env.bio_19 + env.urban + env.barren + env.water + env.savanna + 
    env.woodysavanna + env.wetland + env.npp + env.tree + env.nonveg

                   Df Deviance    AIC
- env.bio_16        1   559.40 609.40
- env.bio_4         1   559.48 609.48
- env.bio_13        1   559.60 609.60
- env.woodysavanna  1   559.99 609.99
- env.bio_8         1   560.21 610.21
- env.wetland       1   560.21 610.21
- env.barren        1   560.23 610.23
- env.bio_10        1   560.56 610.56
- env.bio_12        1   560.73 610.73
<none>                  558.99 610.99
- env.nonveg        1   561.10 611.10
- env.bio_11        1   561.30 611.30
- env.bio_19        1   561.41 611.41
- env.bio_14        1   562.27 612.27
- env.bio_17        1   562.85 612.85
- env.npp           1   563.02 613.02
- env.bio_6         1   563.54 613.54
- env.water         1   564.49 614.49
- env.savanna       1   564.66 614.66
- env.bio_5         1   565.90 615.90
- env.bio_3         1   565.97 615.97
- env.bio_9         1   567.63 617.63
- env.bio_7         1   568.59 618.59
- env.urban         1   571.61 621.61
- env.bio_1         1   573.90 623.90
- env.tree          1   589.94 639.94

Step:  AIC=609.4
presabs ~ env.bio_1 + 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_17 + env.bio_19 + 
    env.urban + env.barren + env.water + env.savanna + env.woodysavanna + 
    env.wetland + env.npp + env.tree + env.nonveg

                   Df Deviance    AIC
- env.bio_4         1   559.92 607.92
- env.woodysavanna  1   560.25 608.25
- env.bio_13        1   560.26 608.26
- env.wetland       1   560.36 608.36
- env.bio_8         1   560.67 608.67
- env.bio_10        1   560.72 608.72
- env.barren        1   560.77 608.77
- env.nonveg        1   561.40 609.40
<none>                  559.40 609.40
- env.bio_12        1   561.60 609.60
- env.bio_11        1   561.99 609.99
- env.bio_17        1   562.86 610.86
- env.npp           1   563.02 611.02
- env.bio_19        1   563.34 611.34
- env.bio_6         1   564.69 612.69
- env.savanna       1   564.91 612.91
- env.water         1   565.01 613.01
- env.bio_14        1   565.71 613.71
- env.bio_5         1   566.37 614.37
- env.bio_9         1   568.90 616.90
- env.bio_7         1   569.44 617.44
- env.urban         1   571.74 619.74
- env.bio_3         1   574.85 622.85
- env.bio_1         1   577.19 625.19
- env.tree          1   590.01 638.01

Step:  AIC=607.92
presabs ~ env.bio_1 + env.bio_3 + 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_17 + env.bio_19 + env.urban + 
    env.barren + env.water + env.savanna + env.woodysavanna + 
    env.wetland + env.npp + env.tree + env.nonveg

                   Df Deviance    AIC
- env.bio_13        1   560.50 606.50
- env.woodysavanna  1   560.59 606.59
- env.wetland       1   560.87 606.87
- env.bio_10        1   560.91 606.91
- env.barren        1   561.27 607.27
- env.bio_12        1   561.60 607.60
<none>                  559.92 607.92
- env.nonveg        1   562.19 608.19
- env.bio_11        1   562.73 608.73
- env.bio_17        1   562.96 608.96
- env.npp           1   563.18 609.18
- env.bio_19        1   563.65 609.65
- env.bio_8         1   564.21 610.21
- env.savanna       1   565.10 611.10
- env.water         1   565.84 611.84
- env.bio_6         1   566.17 612.17
- env.bio_5         1   566.61 612.61
- env.bio_14        1   567.26 613.26
- env.urban         1   572.13 618.13
- env.bio_7         1   572.24 618.24
- env.bio_9         1   573.17 619.17
- env.bio_3         1   575.00 621.00
- env.bio_1         1   577.29 623.29
- env.tree          1   593.50 639.50

Step:  AIC=606.5
presabs ~ env.bio_1 + env.bio_3 + 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_14 + env.bio_17 + env.bio_19 + env.urban + env.barren + 
    env.water + env.savanna + env.woodysavanna + env.wetland + 
    env.npp + env.tree + env.nonveg

                   Df Deviance    AIC
- env.woodysavanna  1   561.28 605.28
- env.bio_10        1   561.49 605.49
- env.bio_12        1   561.76 605.76
- env.barren        1   561.88 605.88
- env.wetland       1   561.89 605.89
<none>                  560.50 606.50
- env.nonveg        1   563.54 607.54
- env.bio_17        1   563.66 607.66
- env.npp           1   563.70 607.70
- env.bio_19        1   563.92 607.92
- env.bio_8         1   564.55 608.55
- env.bio_11        1   564.66 608.66
- env.water         1   566.20 610.20
- env.bio_5         1   566.75 610.75
- env.bio_6         1   566.83 610.83
- env.savanna       1   566.93 610.93
- env.bio_14        1   568.05 612.05
- env.bio_9         1   573.24 617.24
- env.urban         1   573.56 617.56
- env.bio_7         1   573.62 617.62
- env.bio_3         1   576.18 620.18
- env.bio_1         1   578.15 622.15
- env.tree          1   597.54 641.54

Step:  AIC=605.28
presabs ~ env.bio_1 + env.bio_3 + 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_14 + env.bio_17 + env.bio_19 + env.urban + env.barren + 
    env.water + env.savanna + env.wetland + env.npp + env.tree + 
    env.nonveg

              Df Deviance    AIC
- env.bio_10   1   562.18 604.18
- env.wetland  1   562.39 604.39
- env.bio_12   1   562.57 604.57
- env.barren   1   562.66 604.66
<none>             561.28 605.28
- env.npp      1   564.22 606.22
- env.nonveg   1   564.26 606.26
- env.bio_17   1   564.50 606.50
- env.bio_19   1   564.68 606.68
- env.bio_11   1   565.18 607.18
- env.bio_8    1   565.85 607.85
- env.savanna  1   566.99 608.99
- env.water    1   567.35 609.35
- env.bio_6    1   567.47 609.47
- env.bio_5    1   568.67 610.67
- env.bio_14   1   568.77 610.77
- env.bio_9    1   573.89 615.89
- env.urban    1   574.14 616.14
- env.bio_7    1   575.78 617.78
- env.bio_3    1   576.89 618.89
- env.bio_1    1   578.87 620.87
- env.tree     1   598.16 640.16

Step:  AIC=604.18
presabs ~ env.bio_1 + env.bio_3 + env.bio_5 + env.bio_6 + env.bio_7 + 
    env.bio_8 + env.bio_9 + env.bio_11 + env.bio_12 + env.bio_14 + 
    env.bio_17 + env.bio_19 + env.urban + env.barren + env.water + 
    env.savanna + env.wetland + env.npp + env.tree + env.nonveg

              Df Deviance    AIC
- env.bio_12   1   562.90 602.90
- env.wetland  1   563.41 603.41
- env.barren   1   563.67 603.67
<none>             562.18 604.18
- env.bio_17   1   564.51 604.51
- env.bio_19   1   564.86 604.86
- env.nonveg   1   565.00 605.00
- env.npp      1   565.19 605.19
- env.bio_11   1   565.43 605.43
- env.bio_8    1   565.88 605.88
- env.savanna  1   567.71 607.71
- env.water    1   568.03 608.03
- env.bio_6    1   568.04 608.04
- env.bio_5    1   569.09 609.09
- env.bio_14   1   569.41 609.41
- env.bio_9    1   573.96 613.96
- env.urban    1   574.15 614.15
- env.bio_7    1   576.76 616.76
- env.bio_3    1   577.04 617.04
- env.bio_1    1   579.17 619.17
- env.tree     1   598.56 638.56

Step:  AIC=602.9
presabs ~ env.bio_1 + env.bio_3 + env.bio_5 + env.bio_6 + env.bio_7 + 
    env.bio_8 + env.bio_9 + env.bio_11 + env.bio_14 + env.bio_17 + 
    env.bio_19 + env.urban + env.barren + env.water + env.savanna + 
    env.wetland + env.npp + env.tree + env.nonveg

              Df Deviance    AIC
- env.wetland  1   564.11 602.11
- env.barren   1   564.35 602.35
<none>             562.90 602.90
- env.bio_11   1   565.74 603.74
- env.nonveg   1   565.80 603.80
- env.bio_8    1   565.91 603.91
- env.npp      1   566.01 604.01
- env.bio_19   1   566.34 604.34
- env.bio_17   1   567.99 605.99
- env.water    1   568.48 606.48
- env.bio_5    1   569.14 607.14
- env.bio_6    1   569.48 607.48
- env.savanna  1   570.14 608.14
- env.urban    1   575.24 613.24
- env.bio_9    1   577.60 615.60
- env.bio_14   1   582.04 620.04
- env.bio_3    1   586.14 624.14
- env.bio_7    1   587.06 625.06
- env.bio_1    1   590.17 628.17
- env.tree     1   598.56 636.56

Step:  AIC=602.11
presabs ~ env.bio_1 + env.bio_3 + env.bio_5 + env.bio_6 + env.bio_7 + 
    env.bio_8 + env.bio_9 + env.bio_11 + env.bio_14 + env.bio_17 + 
    env.bio_19 + env.urban + env.barren + env.water + env.savanna + 
    env.npp + env.tree + env.nonveg

              Df Deviance    AIC
- env.barren   1   565.83 601.83
<none>             564.11 602.11
- env.nonveg   1   566.28 602.28
- env.bio_8    1   566.44 602.44
- env.npp      1   566.49 602.49
- env.bio_11   1   567.38 603.38
- env.bio_19   1   567.44 603.44
- env.bio_5    1   569.63 605.63
- env.savanna  1   570.52 606.52
- env.bio_6    1   571.34 607.34
- env.bio_17   1   571.50 607.50
- env.water    1   572.89 608.89
- env.urban    1   576.19 612.19
- env.bio_9    1   579.58 615.58
- env.bio_14   1   582.44 618.44
- env.bio_3    1   586.62 622.62
- env.bio_7    1   588.47 624.47
- env.bio_1    1   590.54 626.54
- env.tree     1   602.53 638.53

Step:  AIC=601.83
presabs ~ env.bio_1 + env.bio_3 + env.bio_5 + env.bio_6 + env.bio_7 + 
    env.bio_8 + env.bio_9 + env.bio_11 + env.bio_14 + env.bio_17 + 
    env.bio_19 + env.urban + env.water + env.savanna + env.npp + 
    env.tree + env.nonveg

              Df Deviance    AIC
<none>             565.83 601.83
- env.bio_8    1   567.95 601.95
- env.npp      1   568.36 602.36
- env.nonveg   1   568.45 602.45
- env.bio_11   1   569.01 603.01
- env.bio_19   1   569.28 603.28
- env.bio_5    1   571.10 605.10
- env.savanna  1   572.44 606.44
- env.bio_6    1   573.12 607.12
- env.bio_17   1   573.27 607.27
- env.water    1   573.72 607.72
- env.urban    1   578.09 612.09
- env.bio_9    1   581.56 615.56
- env.bio_14   1   584.49 618.49
- env.bio_3    1   588.81 622.81
- env.bio_7    1   590.87 624.87
- env.bio_1    1   592.93 626.93
- env.tree     1   603.56 637.56

Call:  glm(formula = presabs ~ env.bio_1 + env.bio_3 + env.bio_5 + env.bio_6 + 
    env.bio_7 + env.bio_8 + env.bio_9 + env.bio_11 + env.bio_14 + 
    env.bio_17 + env.bio_19 + env.urban + env.water + env.savanna + 
    env.npp + env.tree + env.nonveg, family = "binomial", data = presabs.glm)

Coefficients:
(Intercept)    env.bio_1    env.bio_3    env.bio_5    env.bio_6    env.bio_7  
    -1.3898      27.0023     -32.3473      -2.9027      -3.9710       1.8965  
  env.bio_8    env.bio_9   env.bio_11   env.bio_14   env.bio_17   env.bio_19  
     1.9400       6.5682      -0.6498     -11.7316      -1.4761      -1.6537  
  env.urban    env.water  env.savanna      env.npp     env.tree   env.nonveg  
     0.6775      -0.4390       0.3737       0.3869       1.3845      -0.4200  

Degrees of Freedom: 558 Total (i.e. Null);  541 Residual
Null Deviance:      774.9 
Residual Deviance: 565.8    AIC: 601.8

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.3863 
tolerance is fixed at  0.0014 
ntrees resid. dev. 
50    1.2935 
now adding trees... 
100   1.2351 
150   1.1961 
200   1.1672 
250   1.1471 
300   1.1318 
350   1.1187 
400   1.1073 
450   1.0983 
500   1.0903 
550   1.0819 
600   1.0755 
650   1.0688 
700   1.0634 
750   1.0581 
800   1.0542 
850   1.0509 
900   1.0455 
950   1.0423 
1000   1.0391 
1050   1.0364 
1100   1.0328 
1150   1.0298 
1200   1.0279 
1250   1.0253 
1300   1.0223 
1350   1.0208 
1400   1.0187 
1450   1.0172 
1500   1.0161 
1550   1.0143 
1600   1.0119 
1650   1.0096 
1700   1.008 
1750   1.0055 
1800   1.0034 
1850   1.0022 
1900   1.0007 
1950   0.9995 
2000   0.9988 
2050   0.9975 
2100   0.9956 
2150   0.9952 
2200   0.9935 
2250   0.9912 
2300   0.9902 
2350   0.9898 
2400   0.9882 
2450   0.9871 
2500   0.9863 
2550   0.9861 
2600   0.9848 
2650   0.9843 
2700   0.9827 
2750   0.983 
2800   0.9833 
2850   0.9832 
2900   0.9834 
2950   0.9827 
3000   0.9826 
3050   0.9818 
3100   0.9814 
3150   0.9811 
3200   0.9801 
3250   0.9801 
3300   0.9793 
3350   0.9789 
3400   0.9786 
3450   0.9783 
3500   0.9772 
3550   0.977 
3600   0.9759 
3650   0.975 
3700   0.9757 
3750   0.9754 
3800   0.9749 
3850   0.9745 
3900   0.9731 
3950   0.9734 
4000   0.9732 
4050   0.9734 
4100   0.9734 
4150   0.9728 
4200   0.9718 
4250   0.9711 
4300   0.9704 
4350   0.9705 
4400   0.9705 
4450   0.97 
4500   0.9714 
4550   0.9714 
4600   0.971 
4650   0.9706 
4700   0.9701 
4750   0.9688 
4800   0.9692 
4850   0.9695 
4900   0.97 
4950   0.97 
5000   0.9695 
5050   0.9683 
5100   0.9681 
5150   0.9683 
5200   0.9682 
5250   0.9683 
5300   0.9683 
5350   0.9698 


mean total deviance = 1.386 
mean residual deviance = 0.571 
 
estimated cv deviance = 0.968 ; se = 0.059 
 
training data correlation = 0.834 
cv correlation =  0.608 ; se = 0.031 
 
training data AUC score = 0.968 
cv AUC score = 0.853 ; se = 0.017 
 
elapsed time -  0.28 minutes 
Code
summary(brt)

                              var    rel.inf
env.tree                 env.tree 11.7302894
env.elev                 env.elev  9.6817742
env.bio_17             env.bio_17  8.8562332
env.woodysavanna env.woodysavanna  7.1180112
env.npp                   env.npp  6.2798139
env.bio_15             env.bio_15  5.0728898
env.bio_14             env.bio_14  4.3614461
env.bio_2               env.bio_2  4.2681246
env.bio_18             env.bio_18  4.1670428
env.bio_10             env.bio_10  3.4701908
env.bio_12             env.bio_12  3.4565897
env.urban               env.urban  3.3790913
env.bio_16             env.bio_16  3.1930778
env.bio_3               env.bio_3  2.7436299
env.bio_13             env.bio_13  2.5993996
env.nonveg             env.nonveg  2.5805637
env.bio_4               env.bio_4  2.4733848
env.bio_6               env.bio_6  2.1168927
env.bio_1               env.bio_1  1.8952839
env.wetland           env.wetland  1.7401165
env.bio_19             env.bio_19  1.6302436
env.bio_5               env.bio_5  1.5280400
env.bio_7               env.bio_7  1.2361423
env.nontree           env.nontree  1.2080348
env.bio_9               env.bio_9  1.0556385
env.bio_11             env.bio_11  0.8465173
env.bio_8               env.bio_8  0.5908027
env.grass               env.grass  0.4701150
env.savanna           env.savanna  0.1379277
env.water               env.water  0.1126921
env.barren             env.barren  0.0000000
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 
      8.00994512       5.69730445       9.20756839       6.98218133 
       env.bio_5        env.bio_6        env.bio_7        env.bio_8 
      6.44026833       5.50565207       7.51740335       6.60696112 
       env.bio_9       env.bio_10       env.bio_11       env.bio_12 
      5.56641720       9.48983741       6.10012272      10.61931424 
      env.bio_13       env.bio_14       env.bio_15       env.bio_16 
      9.28749100      10.35968089       7.49871714       9.51423830 
      env.bio_17       env.bio_18       env.bio_19         env.elev 
     21.54346953       7.33078318       7.16331196       9.06160369 
       env.urban       env.barren        env.water      env.savanna 
      7.67734814       0.04048197       1.23154395       4.56015519 
env.woodysavanna      env.wetland        env.grass          env.npp 
     12.65623044       2.80931440       7.04236310      15.54416686 
        env.tree      env.nontree       env.nonveg 
     25.52167555      10.53532707       8.57131990 
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.tree, env.elev, env.bio_17, env.woodysavanna, env.npp, env.bio_15
  • Random forest: env.tree, env.bio_17, env.npp, env.bio_14, env.nontree, env.bio_12
  • Ranger: env.tree, env.bio_17, env.npp, env.woodysavanna, env.bio_12, env.nontree
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.tree env.elev env.bio_17 env.woodysavanna env.npp env.bio_15 env.bio_14 env.nontree env.bio_12
env.tree 1.0000000 -0.3968661 -0.4936629 -0.0777231 -0.0468240 0.0503882 -0.1926304 0.2718941 -0.5951082
env.elev -0.3968661 1.0000000 0.3091761 0.0062860 0.3623028 -0.6630353 0.1075528 -0.0874815 0.3821173
env.bio_17 -0.4936629 0.3091761 1.0000000 0.0293186 -0.0198950 -0.0543381 0.7896644 -0.1095460 0.8023981
env.woodysavanna -0.0777231 0.0062860 0.0293186 1.0000000 0.0006886 0.0462821 0.0098816 -0.1006558 0.0467406
env.npp -0.0468240 0.3623028 -0.0198950 0.0006886 1.0000000 -0.6102193 0.1143688 -0.5293037 -0.1737652
env.bio_15 0.0503882 -0.6630353 -0.0543381 0.0462821 -0.6102193 1.0000000 -0.3065325 0.1630034 0.1966475
env.bio_14 -0.1926304 0.1075528 0.7896644 0.0098816 0.1143688 -0.3065325 1.0000000 -0.0852376 0.3049036
env.nontree 0.2718941 -0.0874815 -0.1095460 -0.1006558 -0.5293037 0.1630034 -0.0852376 1.0000000 -0.0668483
env.bio_12 -0.5951082 0.3821173 0.8023981 0.0467406 -0.1737652 0.1966475 0.3049036 -0.0668483 1.0000000
Code
tmpFiles(remove=T)