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