Allopatric_pairs_scaled <- read.csv("Allopatric_pairs_scaled.csv")
## YOU SEEM TO HAVE IMPORTED DATA THAT IS NOT RAW DATA.
## NO ONE KNOWS WHAT HAS BEEN DONE TO IT.
## ALSO, AVOID FILE.CHOOSE(). DECIDE ON A FILE NAME, AND USE IT.

summary(Allopatric_pairs_scaled)
##                        SPECIES_NAME1                         SPECIES_NAME2
##  Peromyscus_megalops_thin1.csv:  8   Peromyscus_perfulvus_thin1.csv :11   
##  Peromyscus_aztecus_thin1.csv :  7   Peromyscus_pectoralis_thin1.csv:10   
##  Peromyscus_levipes_thin1.csv :  7   Peromyscus_truei_thin1.csv     : 9   
##  Peromyscus_furvus_thin1.csv  :  6   Peromyscus_spicilegus_thin1.csv: 8   
##  Peromyscus_hooperi_thin1.csv :  6   Peromyscus_zarhynchus_thin1.csv: 8   
##  Peromyscus_leucopus_thin1.csv:  6   Peromyscus_melanotis_thin1.csv : 7   
##  (Other)                      :109   (Other)                        :96   
##  clim_niche_overlapA clim_niche_overlapB Topo_Complex_10   
##  Min.   :0.000000    Min.   :0.000000    Min.   :-1.93466  
##  1st Qu.:0.001881    1st Qu.:0.007701    1st Qu.:-0.79745  
##  Median :0.030063    Median :0.154693    Median :-0.09828  
##  Mean   :0.057440    Mean   :0.272293    Mean   : 0.00000  
##  3rd Qu.:0.095458    3rd Qu.:0.487817    3rd Qu.: 0.71505  
##  Max.   :0.287143    Max.   :0.989130    Max.   : 2.12785  
##                                                            
##     Mean_Vel         Ann_Precip       Mean_Temp_Warm_Mo  Mean_Temp_Cold_Mo
##  Min.   :-0.7372   Min.   :-1.55928   Min.   :-2.08315   Min.   :-2.1845  
##  1st Qu.:-0.6755   1st Qu.:-0.78274   1st Qu.:-0.64004   1st Qu.:-0.9033  
##  Median :-0.4043   Median :-0.07584   Median :-0.03832   Median : 0.1012  
##  Mean   : 0.0000   Mean   : 0.00000   Mean   : 0.00000   Mean   : 0.0000  
##  3rd Qu.: 0.2992   3rd Qu.: 0.54536   3rd Qu.: 0.72433   3rd Qu.: 0.7652  
##  Max.   : 3.0395   Max.   : 2.74556   Max.   : 2.28947   Max.   : 1.9388  
##                                                                           
##      cv_5km           cv_25km         shannon_5km        shannon_25km    
##  Min.   :-0.9766   Min.   :-1.5774   Min.   :-2.83837   Min.   :-2.5605  
##  1st Qu.:-0.8016   1st Qu.:-0.7849   1st Qu.:-0.06174   1st Qu.:-1.0036  
##  Median :-0.3948   Median :-0.2254   Median : 0.40897   Median : 0.3486  
##  Mean   : 0.0000   Mean   : 0.0000   Mean   : 0.00000   Mean   : 0.0000  
##  3rd Qu.: 0.6478   3rd Qu.: 0.8836   3rd Qu.: 0.52449   3rd Qu.: 0.6950  
##  Max.   : 5.0400   Max.   : 2.3704   Max.   : 1.07800   Max.   : 1.8094  
## 
a <- Allopatric_pairs_scaled$clim_niche_overlapA
amin <- min(a[a>0])
amin
## [1] 3.46e-05
ap <- a + amin/2
Allopatric_pairs_scaled$noAl <-  log(ap/(1-ap))
#Start with climatic niche overlapA

#Parameter estimation model


Allopatric_fit <- lm(noAl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Warm_Mo + Mean_Temp_Cold_Mo + cv_5km + cv_25km + shannon_5km + shannon_25km, data=Allopatric_pairs_scaled)
## NO POINT IN LOOKING AT THIS SUMMARY UNTIL YOU HAVE EVALUATED THE ASSUMPTIONS
#summary(Allopatric_fit)


#Checking normality assumption

shapiro.test(residuals(Allopatric_fit))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(Allopatric_fit)
## W = 0.88832, p-value = 3.337e-09
## AND WHAT DID YOU LEARN FROM THIS?

#Checking normality assumption using normal probability plot:
# 
# R <- residuals(Allopatric_fit)
# 
# qqnorm(R)
# qqline(R)
# 
## AND WHAT DID YOU LEARN FROM THIS?
par(mfrow=c(2,2))
plot(Allopatric_fit)

par(mfrow=c(1,1))
## AND WHAT DID YOU LEARN FROM THIS?

#Put cursor in console and hit enter until all 4 plots appear

#Checking homogeneity of variance

#install.packages("lmtest")
lmtest::bptest(Allopatric_fit)
## 
##  studentized Breusch-Pagan test
## 
## data:  Allopatric_fit
## BP = 8.6153, df = 9, p-value = 0.4735
## AND WHAT DID YOU LEARN FROM THIS?

#Checking multicillinearity
#install.packages("car")
car::vif(Allopatric_fit)
##        Ann_Precip          Mean_Vel   Topo_Complex_10 Mean_Temp_Warm_Mo 
##          6.861710         32.522183         10.925580          8.861637 
## Mean_Temp_Cold_Mo            cv_5km           cv_25km       shannon_5km 
##         42.543479          1.856349         14.628585          1.180720 
##      shannon_25km 
##          3.819206
## AND WHAT DID YOU LEARN FROM THIS?

#Model selection using stepwise regression
#Look at model with the lowest AIC value
uf <- step(Allopatric_fit)
## Start:  AIC=336.58
## noAl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Warm_Mo + 
##     Mean_Temp_Cold_Mo + cv_5km + cv_25km + shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - Mean_Temp_Warm_Mo  1     0.679 1247.9 334.66
## - cv_25km            1     0.711 1247.9 334.67
## - cv_5km             1     0.819 1248.0 334.68
## - Mean_Temp_Cold_Mo  1     3.505 1250.7 335.00
## - Mean_Vel           1     6.632 1253.8 335.37
## - Ann_Precip         1     8.457 1255.7 335.59
## <none>                           1247.2 336.58
## - shannon_25km       1    19.655 1266.9 336.91
## - shannon_5km        1    41.056 1288.3 339.41
## - Topo_Complex_10    1    61.628 1308.8 341.77
## 
## Step:  AIC=334.66
## noAl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Cold_Mo + 
##     cv_5km + cv_25km + shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - cv_25km            1     0.177 1248.1 332.69
## - cv_5km             1     1.167 1249.1 332.80
## - Mean_Temp_Cold_Mo  1     4.937 1252.8 333.25
## - Ann_Precip         1     7.779 1255.7 333.59
## - Mean_Vel           1     7.920 1255.8 333.61
## <none>                           1247.9 334.66
## - shannon_25km       1    25.201 1273.1 335.64
## - shannon_5km        1    40.689 1288.6 337.45
## - Topo_Complex_10    1    60.952 1308.8 339.77
## 
## Step:  AIC=332.69
## noAl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Cold_Mo + 
##     cv_5km + shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - cv_5km             1     0.991 1249.1 330.80
## - Mean_Temp_Cold_Mo  1     7.107 1255.2 331.53
## - Mean_Vel           1     9.181 1257.2 331.78
## - Ann_Precip         1    12.043 1260.1 332.12
## <none>                           1248.1 332.69
## - shannon_25km       1    25.406 1273.5 333.69
## - shannon_5km        1    40.523 1288.6 335.45
## - Topo_Complex_10    1    61.110 1309.2 337.81
## 
## Step:  AIC=330.8
## noAl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Cold_Mo + 
##     shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - Mean_Temp_Cold_Mo  1     9.942 1259.0 329.99
## - Mean_Vel           1    13.114 1262.2 330.36
## <none>                           1249.1 330.80
## - Ann_Precip         1    18.178 1267.2 330.96
## - shannon_25km       1    32.811 1281.9 332.67
## - shannon_5km        1    42.115 1291.2 333.74
## - Topo_Complex_10    1    92.144 1341.2 339.41
## 
## Step:  AIC=329.99
## noAl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + shannon_5km + 
##     shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## - Mean_Vel         1     3.518 1262.5 328.40
## - Ann_Precip       1     8.475 1267.5 328.98
## <none>                         1259.0 329.99
## - shannon_25km     1    28.563 1287.6 331.33
## - shannon_5km      1    44.110 1303.1 333.12
## - Topo_Complex_10  1    93.286 1352.3 338.64
## 
## Step:  AIC=328.4
## noAl ~ Ann_Precip + Topo_Complex_10 + shannon_5km + shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## - Ann_Precip       1     8.190 1270.7 327.36
## <none>                         1262.5 328.40
## - shannon_25km     1    27.488 1290.0 329.61
## - shannon_5km      1    40.989 1303.5 331.16
## - Topo_Complex_10  1   250.020 1512.5 353.32
## 
## Step:  AIC=327.36
## noAl ~ Topo_Complex_10 + shannon_5km + shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## <none>                         1270.7 327.36
## - shannon_25km     1    37.350 1308.1 329.68
## - shannon_5km      1    37.898 1308.6 329.74
## - Topo_Complex_10  1   251.400 1522.1 352.26
coef(uf)
##     (Intercept) Topo_Complex_10     shannon_5km    shannon_25km 
##      -4.7427872      -1.3883871       0.5333118      -0.5595632
shapiro.test(residuals(uf))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(uf)
## W = 0.88193, p-value = 1.561e-09
lmtest::bptest(uf)
## 
##  studentized Breusch-Pagan test
## 
## data:  uf
## BP = 0.95011, df = 3, p-value = 0.8133
car::vif(uf)
## Topo_Complex_10     shannon_5km    shannon_25km 
##        1.134795        1.110733        1.240696
#Correlation matrix

cor1A <- subset(Allopatric_pairs_scaled, select=c(clim_niche_overlapA, Topo_Complex_10, Mean_Vel, Ann_Precip, Mean_Temp_Warm_Mo, Mean_Temp_Cold_Mo, cv_5km, cv_25km, shannon_5km, shannon_25km))
cor(cor1A)
##                     clim_niche_overlapA Topo_Complex_10    Mean_Vel
## clim_niche_overlapA          1.00000000      -0.3808791 -0.34007821
## Topo_Complex_10             -0.38087914       1.0000000  0.79790596
## Mean_Vel                    -0.34007821       0.7979060  1.00000000
## Ann_Precip                   0.17176749      -0.4474823 -0.26671329
## Mean_Temp_Warm_Mo           -0.09476550       0.5551939  0.18609312
## Mean_Temp_Cold_Mo            0.27163762      -0.4499970 -0.65164657
## cv_5km                      -0.19823785       0.3496902  0.31005081
## cv_25km                     -0.10152165       0.1978935  0.09704428
## shannon_5km                  0.18465265      -0.1240135 -0.08403213
## shannon_25km                 0.08711691      -0.3442650  0.05531504
##                     Ann_Precip Mean_Temp_Warm_Mo Mean_Temp_Cold_Mo
## clim_niche_overlapA  0.1717675       -0.09476550        0.27163762
## Topo_Complex_10     -0.4474823        0.55519394       -0.44999698
## Mean_Vel            -0.2667133        0.18609312       -0.65164657
## Ann_Precip           1.0000000       -0.11163374        0.67039153
## Mean_Temp_Warm_Mo   -0.1116337        1.00000000        0.27834838
## Mean_Temp_Cold_Mo    0.6703915        0.27834838        1.00000000
## cv_5km               0.1148893        0.21238292       -0.09906007
## cv_25km             -0.8264318       -0.08844858       -0.70852867
## shannon_5km          0.2054707       -0.09316288        0.18511426
## shannon_25km         0.3860664       -0.51975785        0.04475334
##                            cv_5km     cv_25km   shannon_5km shannon_25km
## clim_niche_overlapA -0.1982378499 -0.10152165  0.1846526494   0.08711691
## Topo_Complex_10      0.3496902114  0.19789346 -0.1240134842  -0.34426497
## Mean_Vel             0.3100508127  0.09704428 -0.0840321265   0.05531504
## Ann_Precip           0.1148893384 -0.82643176  0.2054706849   0.38606643
## Mean_Temp_Warm_Mo    0.2123829241 -0.08844858 -0.0931628786  -0.51975785
## Mean_Temp_Cold_Mo   -0.0990600672 -0.70852867  0.1851142618   0.04475334
## cv_5km               1.0000000000  0.02420339 -0.0001126628   0.13853338
## cv_25km              0.0242033930  1.00000000 -0.2176427771  -0.28921272
## shannon_5km         -0.0001126628 -0.21764278  1.0000000000   0.31531279
## shannon_25km         0.1385333768 -0.28921272  0.3153127867   1.00000000
#Parameter estimation final model

final_Allopatric_fit <- uf
plot(final_Allopatric_fit)

shapiro.test(residuals(final_Allopatric_fit))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(final_Allopatric_fit)
## W = 0.88193, p-value = 1.561e-09
lmtest::bptest(final_Allopatric_fit)
## 
##  studentized Breusch-Pagan test
## 
## data:  final_Allopatric_fit
## BP = 0.95011, df = 3, p-value = 0.8133
car::vif(final_Allopatric_fit)
## Topo_Complex_10     shannon_5km    shannon_25km 
##        1.134795        1.110733        1.240696
formula(uf)
## noAl ~ Topo_Complex_10 + shannon_5km + shannon_25km
f1 <- summary(final_Allopatric_fit)
f1
## 
## Call:
## lm(formula = noAl ~ Topo_Complex_10 + shannon_5km + shannon_25km, 
##     data = Allopatric_pairs_scaled)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.5416 -1.1329  0.9518  2.0381  4.7669 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -4.7428     0.2425 -19.556  < 2e-16 ***
## Topo_Complex_10  -1.3884     0.2592  -5.356 3.26e-07 ***
## shannon_5km       0.5333     0.2565   2.080   0.0393 *  
## shannon_25km     -0.5596     0.2710  -2.064   0.0408 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.96 on 145 degrees of freedom
## Multiple R-squared:  0.1878, Adjusted R-squared:  0.171 
## F-statistic: 11.18 on 3 and 145 DF,  p-value: 1.211e-06
# ##Second best AIC model
# final_Allopatric_fit_2 <- lm(clim_niche_overlapA ~ shannon_25km + cv_5km + Topo_Complex_10 + cv_25km + shannon_25km + Mean_Vel + Mean_Temp_Cold_Mo, data=Allopatric_pairs_scaled)
# summary(final_Allopatric_fit_2)


###How to scale the environmental variables

#Topo_Complex_10 <- Allopatric_pairs$Topo_Complex_10
#list(Topo_Complex_10)

#scale(Topo_Complex_10)

###The above script work creates the same scaled x-values as the following:

#Topographic_Complexity_10km <- scale(cor1A$Topo_Complex_10)
#Topographic_Complexity_10km
#write.table(t(Topographic_Complexity_10km), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#Climate_Velocity <- scale(cor1A$Mean_Vel)
#Climate_Velocity
#write.table(t(Climate_Velocity), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#Annual_precipitation <- scale(cor1A$Ann_Precip)
#Annual_precipitation
#write.table(t(Annual_precipitation), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#Warm_Temp <- scale(cor1A$Mean_Temp_Warm_Mo)
#Warm_Temp
#write.table(t(Warm_Temp), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#Cold_Temp <- scale(cor1A$Mean_Temp_Cold_Mo)
#Cold_Temp
#write.table(t(Cold_Temp), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#CV_5km <- scale(cor1A$cv_5km)
#CV_5km
#write.table(t(CV_5km), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#CV_25km <- scale(cor1A$cv_25km)
#CV_25km
#write.table(t(CV_25km), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#Shannon_5km <- scale(cor1A$shannon_5km)
#Shannon_5km
#write.table(t(Shannon_5km), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)

#Shannon_25km <- scale(cor1A$shannon_25km)
#Shannon_25km
#write.table(t(Shannon_25km), file="Allopatric_pairs_scaled.csv", append=TRUE, sep=",", row.names=TRUE, col.names=FALSE)







#########################################################################


#Start with climatic niche overlapB
summary(Allopatric_pairs_scaled$clim_niche_overlapB)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.000000 0.007701 0.154693 0.272293 0.487817 0.989130
b <- Allopatric_pairs_scaled$clim_niche_overlapB 
bmin <- min(b[b>0])
bmin
## [1] 0.000119861
bp <- b + bmin/2
Allopatric_pairs_scaled$noBl <-  log(bp/(1-bp))


#Parameter estimation model

Allopatric_fitB <- lm(noBl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Warm_Mo + Mean_Temp_Cold_Mo + cv_5km + cv_25km + shannon_5km + shannon_25km, data=Allopatric_pairs_scaled)
#Checking normality assumption
shapiro.test(residuals(Allopatric_fitB))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(Allopatric_fitB)
## W = 0.95765, p-value = 0.0001582
#Checking normality assumption using normal probability plot:

#R <- residual(Allopatric_fitB)

#qqnorm(R)
#qqline(R)
par(mfrow=c(2,2))
plot(Allopatric_fitB)

par(mfrow=c(1,1))
#Put cursor in console and hit enter until all 4 plots appear

#Checking homogeneity of variance

#install.packages("lmtest")
lmtest::bptest(Allopatric_fitB)
## 
##  studentized Breusch-Pagan test
## 
## data:  Allopatric_fitB
## BP = 8.4524, df = 9, p-value = 0.4893
#Checking multicillinearity
#install.packages("car")
car::vif(Allopatric_fitB)
##        Ann_Precip          Mean_Vel   Topo_Complex_10 Mean_Temp_Warm_Mo 
##          6.861710         32.522183         10.925580          8.861637 
## Mean_Temp_Cold_Mo            cv_5km           cv_25km       shannon_5km 
##         42.543479          1.856349         14.628585          1.180720 
##      shannon_25km 
##          3.819206
#Model selection using stepwise regression
#Look at model with the lowest AIC value
bf <- step(Allopatric_fitB)
## Start:  AIC=388.78
## noBl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Warm_Mo + 
##     Mean_Temp_Cold_Mo + cv_5km + cv_25km + shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - cv_25km            1     0.173 1770.6 386.79
## - Mean_Temp_Warm_Mo  1     0.627 1771.0 386.83
## - Mean_Temp_Cold_Mo  1     0.863 1771.2 386.85
## - cv_5km             1     1.285 1771.7 386.88
## - Mean_Vel           1     1.641 1772.0 386.91
## - Ann_Precip         1     9.507 1779.9 387.57
## - shannon_25km       1    14.936 1785.3 388.03
## - shannon_5km        1    18.493 1788.9 388.32
## <none>                           1770.4 388.78
## - Topo_Complex_10    1    55.630 1826.0 391.39
## 
## Step:  AIC=386.79
## noBl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Warm_Mo + 
##     Mean_Temp_Cold_Mo + cv_5km + shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - cv_5km             1     1.481 1772.0 384.92
## - Mean_Temp_Warm_Mo  1     1.820 1772.4 384.94
## - Mean_Temp_Cold_Mo  1     4.793 1775.3 385.19
## - Mean_Vel           1     5.300 1775.9 385.24
## - Ann_Precip         1     9.380 1779.9 385.58
## - shannon_25km       1    18.660 1789.2 386.35
## - shannon_5km        1    18.805 1789.4 386.36
## <none>                           1770.6 386.79
## - Topo_Complex_10    1    58.337 1828.9 389.62
## 
## Step:  AIC=384.92
## noBl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Warm_Mo + 
##     Mean_Temp_Cold_Mo + shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - Mean_Temp_Warm_Mo  1     3.811 1775.8 383.24
## - Mean_Temp_Cold_Mo  1     9.989 1782.0 383.75
## - Mean_Vel           1    10.556 1782.6 383.80
## - Ann_Precip         1    18.898 1790.9 384.50
## - shannon_5km        1    19.905 1791.9 384.58
## <none>                           1772.0 384.92
## - shannon_25km       1    30.790 1802.8 385.48
## - Topo_Complex_10    1    85.973 1858.0 389.97
## 
## Step:  AIC=383.24
## noBl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + Mean_Temp_Cold_Mo + 
##     shannon_5km + shannon_25km
## 
##                     Df Sum of Sq    RSS    AIC
## - Mean_Temp_Cold_Mo  1     6.315 1782.2 381.76
## - Mean_Vel           1     7.467 1783.3 381.86
## - Ann_Precip         1    15.105 1791.0 382.50
## - shannon_5km        1    20.542 1796.4 382.95
## <none>                           1775.8 383.24
## - shannon_25km       1    27.346 1803.2 383.51
## - Topo_Complex_10    1    97.623 1873.5 389.21
## 
## Step:  AIC=381.76
## noBl ~ Ann_Precip + Mean_Vel + Topo_Complex_10 + shannon_5km + 
##     shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## - Mean_Vel         1     1.576 1783.7 379.90
## - Ann_Precip       1     9.908 1792.1 380.59
## - shannon_5km      1    21.648 1803.8 381.56
## <none>                         1782.2 381.76
## - shannon_25km     1    24.304 1806.5 381.78
## - Topo_Complex_10  1   110.198 1892.4 388.70
## 
## Step:  AIC=379.9
## noBl ~ Ann_Precip + Topo_Complex_10 + shannon_5km + shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## - Ann_Precip       1      9.70 1793.5 378.70
## - shannon_5km      1     20.22 1804.0 379.58
## <none>                         1783.7 379.90
## - shannon_25km     1     26.84 1810.6 380.12
## - Topo_Complex_10  1    342.66 2126.4 404.08
## 
## Step:  AIC=378.7
## noBl ~ Topo_Complex_10 + shannon_5km + shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## - shannon_5km      1     17.78 1811.2 378.17
## <none>                         1793.5 378.70
## - shannon_25km     1     37.34 1830.8 379.77
## - Topo_Complex_10  1    347.96 2141.4 403.13
## 
## Step:  AIC=378.17
## noBl ~ Topo_Complex_10 + shannon_25km
## 
##                   Df Sum of Sq    RSS    AIC
## <none>                         1811.2 378.17
## - shannon_25km     1     26.01 1837.2 378.30
## - Topo_Complex_10  1    350.80 2162.0 402.55
#Correlation matrix

cor1B <- subset(Allopatric_pairs_scaled, select=c(clim_niche_overlapB, Topo_Complex_10, Mean_Vel, Ann_Precip, Mean_Temp_Warm_Mo, Mean_Temp_Cold_Mo, cv_5km, cv_25km, shannon_5km, shannon_25km))
cor(cor1B)
##                     clim_niche_overlapB Topo_Complex_10    Mean_Vel
## clim_niche_overlapB          1.00000000      -0.3769293 -0.31277531
## Topo_Complex_10             -0.37692931       1.0000000  0.79790596
## Mean_Vel                    -0.31277531       0.7979060  1.00000000
## Ann_Precip                   0.17315144      -0.4474823 -0.26671329
## Mean_Temp_Warm_Mo           -0.15594197       0.5551939  0.18609312
## Mean_Temp_Cold_Mo            0.21458249      -0.4499970 -0.65164657
## cv_5km                      -0.18695550       0.3496902  0.31005081
## cv_25km                     -0.10648006       0.1978935  0.09704428
## shannon_5km                  0.07387976      -0.1240135 -0.08403213
## shannon_25km                 0.09414473      -0.3442650  0.05531504
##                     Ann_Precip Mean_Temp_Warm_Mo Mean_Temp_Cold_Mo
## clim_niche_overlapB  0.1731514       -0.15594197        0.21458249
## Topo_Complex_10     -0.4474823        0.55519394       -0.44999698
## Mean_Vel            -0.2667133        0.18609312       -0.65164657
## Ann_Precip           1.0000000       -0.11163374        0.67039153
## Mean_Temp_Warm_Mo   -0.1116337        1.00000000        0.27834838
## Mean_Temp_Cold_Mo    0.6703915        0.27834838        1.00000000
## cv_5km               0.1148893        0.21238292       -0.09906007
## cv_25km             -0.8264318       -0.08844858       -0.70852867
## shannon_5km          0.2054707       -0.09316288        0.18511426
## shannon_25km         0.3860664       -0.51975785        0.04475334
##                            cv_5km     cv_25km   shannon_5km shannon_25km
## clim_niche_overlapB -0.1869554978 -0.10648006  0.0738797594   0.09414473
## Topo_Complex_10      0.3496902114  0.19789346 -0.1240134842  -0.34426497
## Mean_Vel             0.3100508127  0.09704428 -0.0840321265   0.05531504
## Ann_Precip           0.1148893384 -0.82643176  0.2054706849   0.38606643
## Mean_Temp_Warm_Mo    0.2123829241 -0.08844858 -0.0931628786  -0.51975785
## Mean_Temp_Cold_Mo   -0.0990600672 -0.70852867  0.1851142618   0.04475334
## cv_5km               1.0000000000  0.02420339 -0.0001126628   0.13853338
## cv_25km              0.0242033930  1.00000000 -0.2176427771  -0.28921272
## shannon_5km         -0.0001126628 -0.21764278  1.0000000000   0.31531279
## shannon_25km         0.1385333768 -0.28921272  0.3153127867   1.00000000
#Parameter estimation final model

final_Allopatric_fitB <- bf
#install.packages("lmtest")
lmtest::bptest(final_Allopatric_fitB)
## 
##  studentized Breusch-Pagan test
## 
## data:  final_Allopatric_fitB
## BP = 0.22449, df = 2, p-value = 0.8938
#Checking multicillinearity
#install.packages("car")
car::vif(final_Allopatric_fitB)
## Topo_Complex_10    shannon_25km 
##        1.134454        1.134454
summary(final_Allopatric_fitB)
## 
## Call:
## lm(formula = noBl ~ Topo_Complex_10 + shannon_25km, data = Allopatric_pairs_scaled)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.6402 -1.8120  0.7494  2.0821  7.9235 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -2.7464     0.2885  -9.518  < 2e-16 ***
## Topo_Complex_10  -1.6398     0.3084  -5.318 3.86e-07 ***
## shannon_25km     -0.4465     0.3084  -1.448     0.15    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.522 on 146 degrees of freedom
## Multiple R-squared:  0.1631, Adjusted R-squared:  0.1516 
## F-statistic: 14.22 on 2 and 146 DF,  p-value: 2.275e-06