######################## ALL DATASET ######################## rm(list=ls()) library(ape); library(geiger); library(phytools); library(caper); library(nlme); library(phangorn) datos<-read.table("Kreiman et al-Dataset.txt", h=T, sep = "\t") datos<-datos[!is.na(datos$Q10),] tr<-read.tree("Kreiman et al_Tree.tre") tr<-treedata(tr, setNames(datos$Species.phylo,datos$Species.phylo))[[1]] datos$Temperature<-factor(datos$Temperature, levels = c("T5.15", "T10.20", "T15.25", "T20.30")) all.equal(sort(tr$tip.label), sort(unique(as.character(datos$Species.phylo)))) names(datos) #### Subsets ##### Q5.15<-subset(datos, Temperature=="T5.15") tr5.15<-treedata(tr, setNames(Q5.15$Species.phylo,Q5.15$Species.phylo))[[1]] Q10.20<-subset(datos, Temperature=="T10.20") tr10.20<-treedata(tr, setNames(Q10.20$Species.phylo,Q10.20$Species.phylo))[[1]] Q15.25<-subset(datos, Temperature=="T15.25") tr15.25<-treedata(tr, setNames(Q15.25$Species.phylo,Q15.25$Species.phylo))[[1]] Q20.30<-subset(datos, Temperature=="T20.30") tr20.30<-treedata(tr, setNames(Q20.30$Species.phylo,Q20.30$Species.phylo))[[1]] #### Figs ##### #pdf("Fig A1 amphibians Phylogeny.pdf", width = 10, height = 9.6, useDingbat=FALSE) par(mfrow=c(1,1), mar=c(4.1,4,1.1,1.1), lwd=2) plot.phylo(tr, edge.width=4, font=4,cex=0.8, label.offset=3,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "Mya", side = 1, adj = 0, line = 1.7, font=4) #dev.off() #pdf("Fig A2 amphibians Phylogeny.pdf", width = 10, height = 9.6, useDingbat=FALSE) par(mfrow=c(2,2), mar=c(4.1,4,1.1,1.1), lwd=2) plot.phylo(tr5.15, edge.width=2, font=2,cex=0.8, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "A)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) plot.phylo(tr10.20, edge.width=2, font=2,cex=0.8, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "B)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) plot.phylo(tr15.25, edge.width=2, font=2,cex=0.6, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "C)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) plot.phylo(tr20.30, edge.width=2, font=2,cex=0.8, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "D)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) #dev.off() par(mfrow=c(1,1)) #### Linear Regressions ######### # Q5.15 lm1<-lm(Q10~abs(Lat), Q5.15) summary(lm1) aov1<-aov(Q10~Zone, Q5.15) summary.lm(aov1) sum(coef(aov1)[1], coef(aov1)[2]) # Q10.20 lm2<-lm(Q10~abs(Lat), Q10.20) summary(lm2) aov2<-aov(Q10~Zone, Q10.20) summary.lm(aov2) sum(coef(aov2)[1], coef(aov2)[2]) # Q15.25 lm3<-lm(Q10~abs(Lat), Q15.25) summary(lm3) aov3<-aov(Q10~Zone, Q15.25) summary.lm(aov3) sum(coef(aov3)[1], coef(aov3)[2]) # Q20.30 lm4<-lm(Q10~abs(Lat), Q20.30) summary(lm4) aov4<-aov(Q10~Zone, Q20.30) summary.lm(aov4) sum(coef(aov4)[1], coef(aov4)[2]) #pdf("Conventional absLat vs Q10.pdf", width = 10, height = 9.6, useDingbat=FALSE) par(mar=c(1.5,8,3,0), mfrow=c(2,2), cex.axis=2, lwd=1.5) with(Q5.15, plot(Q10~abs(Lat), xlab="", ylab="", las=1, ylim=c(0,4.5), xaxt="n", xlim=c(0,52), cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7) ) ) mtext(text = "(a)", side = 3, line = -2.2, adj = 0.05, cex=2, font=2) abline(lm1, lty=2, col="darkgrey", lwd=1.5) mtext(text = expression(bolditalic("Thermal sensivity Q"["10"])), side = 2, line = 2.5, cex=1.5) axis(side = 1, at = seq(from=0, to=50, by=10), labels = F) box(lwd=2) par(mar=c(1.5,6,3,2), cex.axis=2, lwd=1.5) with(Q10.20, plot(Q10~abs(Lat), xlab="", ylab="", las=1, ylim=c(0,4.5), xaxt="n", xlim=c(0,52), cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7) ) ) mtext(text = "(b)", side = 3, line = -2.2, adj = 0.05, cex=2, font=2) abline(lm2, lty=2, col="darkgrey", lwd=1.5) axis(side = 1, at = seq(from=0, to=50, by=10), labels = F) box(lwd=2) par(mar=c(4.5,8,0,0), cex.axis=2, lwd=1.5) with(Q15.25, plot(Q10~abs(Lat), xlab="", ylab="", las=1, ylim=c(0,9.1), xlim=c(0,52), cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7) ) ) mtext(text = "(c)", side = 3, line = -2.2, adj = 0.05, cex=2, font=2) abline(lm3, lty=2, col="darkgrey", lwd=1.5) mtext(text = expression(bolditalic("Thermal sensivity Q"["10"])), side = 2, line = 2.5, cex=1.5) mtext(text = expression(bolditalic("Absolute latitude (°C)")), side = 1, line = 3.3, cex=1.5) par(mar=c(4.5,6,0,2)) with(Q20.30, plot(Q10~abs(Lat), xlab="", ylab="", las=1, ylim=c(0,4), xlim=c(0,52), cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7) ) ) mtext(text = "(d)", side = 3, line = -2.2, adj = 0.05, cex=2, font=2) abline(lm4, lty=2, col="darkgrey", lwd=1.5) mtext(text = expression(bolditalic("Thermal sensivity Q"["10"])), side = 2, line = 2.5, cex=1.5) mtext(text = expression(bolditalic("Absolute latitude (°C)")), side = 1, line = 3.3, cex=1.5) #dev.off() ##### Phylogenetic regressions ##### ## T5.15 #### Nsp.5.15<-with(Q5.15, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr5.15$tip.label[match(Nsp.5.15[Nsp.5.15$n>=2,]$sp, tr5.15$tip.label)], match(Nsp.5.15[Nsp.5.15$n>=2,]$sp, tr5.15$tip.label)) tr5.15<-bind.tip(tr5.15, "Desmognathus_ochrophaeus2", where = 20) plot(tr5.15) tr5.15$edge.length<-tr5.15$edge.length+0.001 Q5.15$Species.phylo<-as.character(Q5.15$Species.phylo) Q5.15$Species.phylo[c(8)] Q5.15$Species.phylo[c(8)]<-c("Desmognathus_ochrophaeus2") rownames(Q5.15)<-Q5.15$Species.phylo Q5.15<-Q5.15[match(tr5.15$tip.label,rownames(Q5.15)),] all.equal(tr5.15$tip.label, Q5.15$Species.phylo) ### T10.20 #### Nsp.10.20<-with(Q10.20, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr10.20$tip.label[match(Nsp.10.20[Nsp.10.20$n>=2,]$sp, tr10.20$tip.label)], match(Nsp.10.20[Nsp.10.20$n>=2,]$sp, tr10.20$tip.label)) tr10.20<-bind.tip(tr10.20, "Desmognathus_ochrophaeus2", where = 17) plot(tr10.20) tr10.20$edge.length<-tr10.20$edge.length+0.001 Q10.20$Species.phylo<-as.character(Q10.20$Species.phylo) Q10.20$Species.phylo[7] Q10.20$Species.phylo[7]<-c("Desmognathus_ochrophaeus2") rownames(Q10.20)<-Q10.20$Species.phylo Q10.20<-Q10.20[match(tr10.20$tip.label,rownames(Q10.20)),] all.equal(tr10.20$tip.label, Q10.20$Species.phylo) ### T15.25 #### Nsp.15.25<-with(Q15.25, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr15.25$tip.label[match(Nsp.15.25[Nsp.15.25$n>=2,]$sp, tr15.25$tip.label)], match(Nsp.15.25[Nsp.15.25$n>=2,]$sp, tr15.25$tip.label)) tr15.25<-bind.tip(tr15.25, "Desmognathus_ochrophaeus2", where = 35) plot(tr15.25) Q15.25$Species.phylo<-as.character(Q15.25$Species.phylo) Q15.25$Species.phylo[c(16)] Q15.25$Species.phylo[c(16)]<-c("Desmognathus_ochrophaeus2") tr15.25<-bind.tip(tr15.25, "Notophthalmus_viridescens2", where = 43) plot(tr15.25) tr15.25$edge.length<-tr15.25$edge.length+0.001 Q15.25$Species.phylo<-as.character(Q15.25$Species.phylo) Q15.25$Species.phylo[c(25)] Q15.25$Species.phylo[c(25)]<-c("Notophthalmus_viridescens2") rownames(Q15.25)<-Q15.25$Species.phylo Q15.25<-Q15.25[match(tr15.25$tip.label,rownames(Q15.25)),] all.equal(tr15.25$tip.label, Q15.25$Species.phylo) ### T20.30 #### Nsp.20.30<-with(Q20.30, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr20.30$tip.label[match(Nsp.20.30[Nsp.20.30$n>=2,]$sp, tr20.30$tip.label)], match(Nsp.20.30[Nsp.20.30$n>=2,]$sp, tr20.30$tip.label)) tr20.30<-bind.tip(tr20.30, "Pleurodema_thaul2", where = 4) plot(tr20.30) tr20.30$edge.length<-tr20.30$edge.length+0.001 Q20.30$Species.phylo<-as.character(Q20.30$Species.phylo) Q20.30$Species.phylo[c(30)] Q20.30$Species.phylo[c(30)]<-c("Pleurodema_thaul2") rownames(Q20.30)<-Q20.30$Species.phylo Q20.30<-Q20.30[match(tr20.30$tip.label,rownames(Q20.30)),] all.equal(tr20.30$tip.label, Q20.30$Species.phylo) ###### PHYLOGENETIC ANALISYS ####### ### abs(Lat) #### Q5.15pgls<-comparative.data(tr5.15, Q5.15, "Species.phylo", na.omit = F) results.pgls.5.15<-pgls(Q10~abs(Lat), Q5.15pgls, lambda="ML") summary(results.pgls.5.15) Q10.20pgls<-comparative.data(tr10.20, Q10.20, "Species.phylo", na.omit = F) results.pgls.10.20<-pgls(Q10~abs(Lat), Q10.20pgls, lambda="ML") summary(results.pgls.10.20) Q15.25pgls<-comparative.data(tr15.25, Q15.25, "Species.phylo", na.omit = F) results.pgls.15.25<-pgls(Q10~abs(Lat), Q15.25pgls, lambda="ML") summary(results.pgls.15.25) Q20.30pgls<-comparative.data(tr20.30, Q20.30, "Species.phylo", na.omit = F) results.pgls.20.30<-pgls(Q10~abs(Lat), Q20.30pgls, lambda="ML") summary(results.pgls.20.30) ### PICs #### picLat.5.15<-with(Q5.15pgls, pic(x = setNames(abs(data$Lat), rownames(data)), phy = phy)) picQ10.5.15<-with(Q5.15pgls, pic(x = setNames(data$Q10, rownames(data)), phy = phy)) lm.pic1<-lm(picQ10.5.15~picLat.5.15-1) summary(lm.pic1) picLat.10.20<-with(Q10.20pgls, pic(x = setNames(abs(data$Lat), rownames(data)), phy = phy)) picQ10.10.20<-with(Q10.20pgls, pic(x = setNames(data$Q10, rownames(data)), phy = phy)) lm.pic2<-lm(picQ10.10.20~picLat.10.20-1) summary(lm.pic2) picLat.15.25<-with(Q15.25pgls, pic(x = setNames(abs(data$Lat), rownames(data)), phy = phy)) picQ10.15.25<-with(Q15.25pgls, pic(x = setNames(data$Q10, rownames(data)), phy = phy)) lm.pic3<-lm(picQ10.15.25~picLat.15.25-1) summary(lm.pic3) picLat.20.30<-with(Q20.30pgls, pic(x = setNames(abs(data$Lat), rownames(data)), phy = phy)) picQ10.20.30<-with(Q20.30pgls, pic(x = setNames(data$Q10, rownames(data)), phy = phy)) lm.pic4<-lm(picQ10.20.30~picLat.20.30-1) summary(lm.pic4) #pdf("PICs absLat vs Q10.pdf", width = 10, height = 9.6, useDingbat=FALSE) par(mar=c(2,8,3,0), mfrow=c(2,2), cex.axis=2, lwd=1.5) plot(picQ10.5.15~picLat.5.15, xlab="", ylab="", las=1, cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7)) mtext(text = "(a)", side = 3, line = -2.2, adj = 0.15, cex=2, font=2) mtext(text = expression(bolditalic("PICs of thermal sensivity Q"["10"])), side = 2, line = 2.5, cex=1.5) box(lwd=2) par(mar=c(2,6,3,2), cex.axis=2, lwd=1.5) plot(picQ10.10.20~picLat.10.20, xlab="", ylab="", las=1, cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7)) mtext(text = "(b)", side = 3, line = -2.2, adj = 0.15, cex=2, font=2) box(lwd=2) par(mar=c(4.5,8,0.5,0), cex.axis=2, lwd=1.5) plot(picQ10.15.25~picLat.15.25, xlab="", ylab="", las=1, cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7)) mtext(text = "(c)", side = 3, line = -2.2, adj = 0.15, cex=2, font=2) mtext(text = expression(bolditalic("PICs of thermal sensivity Q"["10"])), side = 2, line = 2.5, cex=1.5) mtext(text = expression(bolditalic("PICs of absolute latitude (°C)")), side = 1, line = 3.3, cex=1.5) par(mar=c(4.5,6,0.5,2)) plot(picQ10.20.30~picLat.20.30, xlab="", ylab="", las=1, cex=2, pch=21, col="white", bg=rgb(0,0,0, alpha = 0.7)) mtext(text = "(d)", side = 3, line = -2.2, adj = 0.15, cex=2, font=2) mtext(text = expression(bolditalic("PICs of absolute latitude (°C)")), side = 1, line = 3.3, cex=1.5) #dev.off() ### Zone ####### zone.pgls.5.15<-pgls(Q10~Zone, Q5.15pgls, lambda="ML") dim(Q5.15pgls[[2]]) summary(zone.pgls.5.15) sum(coef(zone.pgls.5.15)[1], coef(zone.pgls.5.15)[2]) zone.pgls.10.20<-pgls(Q10~Zone, Q10.20pgls, lambda="ML") summary(zone.pgls.10.20) sum(coef(zone.pgls.10.20)[1], coef(zone.pgls.10.20)[2]) zone.pgls.15.25<-pgls(Q10~Zone, Q15.25pgls, lambda="ML") summary(zone.pgls.15.25) sum(coef(zone.pgls.15.25)[1], coef(zone.pgls.15.25)[2]) zone.pgls.20.30<-pgls(Q10~Zone, Q20.30pgls, lambda="ML") summary(zone.pgls.20.30) sum(coef(zone.pgls.20.30)[1], coef(zone.pgls.20.30)[2]) ### abs(Lat)~T max value #### T.max <- read.table("Kreiman et al-Dataset.txt", h=T, sep = "\t") T.max <- T.max[!is.na(T.max$T.max.value),] T.max<-subset(T.max, Temperature=="T5.15") dim(T.max) trT.max<-treedata(tr, setNames(T.max$Species.phylo,T.max$Species.phylo))[[1]] Nsp.T.max<-with(T.max, aggregate(list(n=T.max.value), list(sp=Species.phylo), length)) setNames(trT.max$tip.label[match(Nsp.T.max[Nsp.T.max$n>=2,]$sp, trT.max$tip.label)], match(Nsp.T.max[Nsp.T.max$n>=2,]$sp, trT.max$tip.label)) trT.max<-bind.tip(trT.max, "Desmognathus_ochrophaeus2", where = 33) plot(trT.max) trT.max$edge.length<-trT.max$edge.length+0.001 T.max$Species.phylo<-as.character(T.max$Species.phylo) T.max$Species.phylo[c(10)] T.max$Species.phylo[c(10)]<-c("Desmognathus_ochrophaeus2") rownames(T.max)<-T.max$Species.phylo T.max<-T.max[match(trT.max$tip.label,rownames(T.max)),] all.equal(trT.max$tip.label, T.max$Species.phylo) lm.Tmax<-lm(T.max.value~abs(Lat), T.max) summary(lm.Tmax) Tmax.pgls<-comparative.data(trT.max, T.max, "Species.phylo", na.omit = F) results.pgls.Tmax<-pgls(T.max.value~abs(Lat), Tmax.pgls, lambda="ML") summary(results.pgls.Tmax) ######################## FIELD + MIXED ######################## rm(list=ls()) #### Poblaciones ###### datos<-read.table("Kreiman et al-Dataset.txt", h=T, sep = "\t") datos<-datos[!is.na(datos$Q10),] datos<-datos[datos$Provenience %in% c("Field", "Mixed"),] tr<-read.tree("Kreiman et al_Tree.tre") tr<-treedata(tr, setNames(datos$Species.phylo,datos$Species.phylo))[[1]] datos$Temperature<-factor(datos$Temperature, levels = c("T5.15", "T10.20", "T15.25", "T20.30")) all.equal(sort(tr$tip.label), sort(unique(as.character(datos$Species.phylo)))) names(datos) #### Subsets ##### Q5.15<-subset(datos, Temperature=="T5.15") tr5.15<-treedata(tr, setNames(Q5.15$Species.phylo,Q5.15$Species.phylo))[[1]] Q10.20<-subset(datos, Temperature=="T10.20") tr10.20<-treedata(tr, setNames(Q10.20$Species.phylo,Q10.20$Species.phylo))[[1]] Q15.25<-subset(datos, Temperature=="T15.25") tr15.25<-treedata(tr, setNames(Q15.25$Species.phylo,Q15.25$Species.phylo))[[1]] Q20.30<-subset(datos, Temperature=="T20.30") tr20.30<-treedata(tr, setNames(Q20.30$Species.phylo,Q20.30$Species.phylo))[[1]] #### Figs ##### #pdf("Fig A1 amphibians Phylogeny.pdf", width = 10, height = 9.6, useDingbat=FALSE) par(mfrow=c(1,1), mar=c(4.1,4,1.1,1.1), lwd=2) plot.phylo(tr, edge.width=4, font=4,cex=0.8, label.offset=3,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "Mya", side = 1, adj = 0, line = 1.7, font=4) #dev.off() #pdf("Fig A2 amphibians Phylogeny.pdf", width = 10, height = 9.6, useDingbat=FALSE) par(mfrow=c(2,2), mar=c(4.1,4,1.1,1.1), lwd=2) plot.phylo(tr5.15, edge.width=2, font=2,cex=0.8, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "A)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) plot.phylo(tr10.20, edge.width=2, font=2,cex=0.8, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "B)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) plot.phylo(tr15.25, edge.width=2, font=2,cex=0.6, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "C)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) plot.phylo(tr20.30, edge.width=2, font=2,cex=0.8, label.offset=5,mar=c(4.1,1.1,1.1,0)) axisPhylo(lwd=2) mtext(text = "D)", side = 3, adj = 0, line = 0, font=4) mtext(text = "Mya", side = 1, adj = 0, line = 2, font=3) #dev.off() par(mfrow=c(1,1), mar=c(4.1,4,1.1,1.1), lwd=2) #### Linear Regressions ######### lm1<-lm(Q10~abs(Lat), Q5.15) dim(Q5.15) summary(lm1) aov1<-aov(Q10~Zone, Q5.15) summary.lm(aov1) sum(coef(aov1)[1], coef(aov1)[2]) lm2<-lm(Q10~abs(Lat), Q10.20) dim(Q10.20) summary(lm2) aov2<-aov(Q10~Zone, Q10.20) summary.lm(aov2) sum(coef(aov2)[1], coef(aov2)[2]) lm3<-lm(Q10~abs(Lat), Q15.25) dim(Q15.25) summary(lm3) aov3<-aov(Q10~Zone, Q15.25) summary.lm(aov3) sum(coef(aov3)[1], coef(aov3)[2]) lm4<-lm(Q10~abs(Lat), Q20.30) dim(Q20.30) summary(lm4) aov4<-aov(Q10~Zone, Q20.30) summary.lm(aov4) sum(coef(aov4)[1], coef(aov4)[2]) ##### Phylogenetic regressions ##### ## T5.15 #### Nsp.5.15<-with(Q5.15, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr5.15$tip.label[match(Nsp.5.15[Nsp.5.15$n>=2,]$sp, tr5.15$tip.label)], match(Nsp.5.15[Nsp.5.15$n>=2,]$sp, tr5.15$tip.label)) tr5.15<-bind.tip(tr5.15, "Desmognathus_ochrophaeus2", where = 20) plot(tr5.15) tr5.15$edge.length<-tr5.15$edge.length+0.001 Q5.15$Species.phylo<-as.character(Q5.15$Species.phylo) Q5.15$Species.phylo[c(7)] Q5.15$Species.phylo[c(7)]<-c("Desmognathus_ochrophaeus2") rownames(Q5.15)<-Q5.15$Species.phylo Q5.15<-Q5.15[match(tr5.15$tip.label,rownames(Q5.15)),] all.equal(tr5.15$tip.label, Q5.15$Species.phylo) ### T10.20 #### Nsp.10.20<-with(Q10.20, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr10.20$tip.label[match(Nsp.10.20[Nsp.10.20$n>=2,]$sp, tr10.20$tip.label)], match(Nsp.10.20[Nsp.10.20$n>=2,]$sp, tr10.20$tip.label)) tr10.20<-bind.tip(tr10.20, "Desmognathus_ochrophaeus2", where = 16) plot(tr10.20) tr10.20$edge.length<-tr10.20$edge.length+0.001 Q10.20$Species.phylo<-as.character(Q10.20$Species.phylo) Q10.20$Species.phylo[7] Q10.20$Species.phylo[7]<-c("Desmognathus_ochrophaeus2") rownames(Q10.20)<-Q10.20$Species.phylo Q10.20<-Q10.20[match(tr10.20$tip.label,rownames(Q10.20)),] all.equal(tr10.20$tip.label, Q10.20$Species.phylo) ### T15.25 #### Nsp.15.25<-with(Q15.25, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr15.25$tip.label[match(Nsp.15.25[Nsp.15.25$n>=2,]$sp, tr15.25$tip.label)], match(Nsp.15.25[Nsp.15.25$n>=2,]$sp, tr15.25$tip.label)) tr15.25<-bind.tip(tr15.25, "Desmognathus_ochrophaeus2", where = 35) plot(tr15.25) Q15.25$Species.phylo<-as.character(Q15.25$Species.phylo) Q15.25$Species.phylo[c(15)] Q15.25$Species.phylo[c(15)]<-c("Desmognathus_ochrophaeus2") tr15.25<-bind.tip(tr15.25, "Notophthalmus_viridescens2", where = 41) plot(tr15.25) tr15.25$edge.length<-tr15.25$edge.length+0.001 Q15.25$Species.phylo<-as.character(Q15.25$Species.phylo) Q15.25$Species.phylo[c(24)] Q15.25$Species.phylo[c(24)]<-c("Notophthalmus_viridescens2") rownames(Q15.25)<-Q15.25$Species.phylo Q15.25<-Q15.25[match(tr15.25$tip.label,rownames(Q15.25)),] all.equal(tr15.25$tip.label, Q15.25$Species.phylo) ### T20.30 #### Nsp.20.30<-with(Q20.30, aggregate(list(n=Q10), list(sp=Species.phylo), length)) setNames(tr20.30$tip.label[match(Nsp.20.30[Nsp.20.30$n>=2,]$sp, tr20.30$tip.label)], match(Nsp.20.30[Nsp.20.30$n>=2,]$sp, tr20.30$tip.label)) tr20.30<-bind.tip(tr20.30, "Pleurodema_thaul2", where = 4) plot(tr20.30) tr20.30$edge.length<-tr20.30$edge.length+0.001 Q20.30$Species.phylo<-as.character(Q20.30$Species.phylo) Q20.30$Species.phylo[c(28)] Q20.30$Species.phylo[c(28)]<-c("Pleurodema_thaul2") rownames(Q20.30)<-Q20.30$Species.phylo Q20.30<-Q20.30[match(tr20.30$tip.label,rownames(Q20.30)),] all.equal(tr20.30$tip.label, Q20.30$Species.phylo) ###### PHYLOGENETIC ANALISYS ####### ### abs(Lat) #### Q5.15pgls<-comparative.data(tr5.15, Q5.15, "Species.phylo", na.omit = F) results.pgls.5.15<-pgls(Q10~abs(Lat), Q5.15pgls, lambda="ML") summary(results.pgls.5.15) Q10.20pgls<-comparative.data(tr10.20, Q10.20, "Species.phylo", na.omit = F) results.pgls.10.20<-pgls(Q10~abs(Lat), Q10.20pgls, lambda="ML") summary(results.pgls.10.20) Q15.25pgls<-comparative.data(tr15.25, Q15.25, "Species.phylo", na.omit = F) results.pgls.15.25<-pgls(Q10~abs(Lat), Q15.25pgls, lambda="ML") summary(results.pgls.15.25) Q20.30pgls<-comparative.data(tr20.30, Q20.30, "Species.phylo", na.omit = F) results.pgls.20.30<-pgls(Q10~abs(Lat), Q20.30pgls, lambda="ML") summary(results.pgls.20.30) ### Zone ####### zone.pgls.5.15<-pgls(Q10~Zone, Q5.15pgls, lambda="ML") summary(zone.pgls.5.15) sum(coef(zone.pgls.5.15)[1], coef(zone.pgls.5.15)[2]) zone.pgls.10.20<-pgls(Q10~Zone, Q10.20pgls, lambda="ML") summary(zone.pgls.10.20) sum(coef(zone.pgls.10.20)[1], coef(zone.pgls.10.20)[2]) zone.pgls.15.25<-pgls(Q10~Zone, Q15.25pgls, lambda="ML") summary(zone.pgls.15.25) sum(coef(zone.pgls.15.25)[1], coef(zone.pgls.15.25)[2]) zone.pgls.20.30<-pgls(Q10~Zone, Q20.30pgls, lambda="ML") summary(zone.pgls.20.30) sum(coef(zone.pgls.20.30)[1], coef(zone.pgls.20.30)[2]) ### abs(Lat)~T max value #### T.max <- read.table("Kreiman et al-Dataset.txt", h=T, sep = "\t") T.max <- T.max[!is.na(T.max$T.max.value),] T.max<-T.max[T.max$Provenience %in% c("Field", "Mixed"),] T.max<-subset(T.max, Temperature=="T5.15") dim(T.max) trT.max<-treedata(tr, setNames(T.max$Species.phylo,T.max$Species.phylo))[[1]] Nsp.T.max<-with(T.max, aggregate(list(n=T.max.value), list(sp=Species.phylo), length)) setNames(trT.max$tip.label[match(Nsp.T.max[Nsp.T.max$n>=2,]$sp, trT.max$tip.label)], match(Nsp.T.max[Nsp.T.max$n>=2,]$sp, trT.max$tip.label)) trT.max<-bind.tip(trT.max, "Desmognathus_ochrophaeus2", where = 32) plot(trT.max) trT.max$edge.length<-trT.max$edge.length+0.001 T.max$Species.phylo<-as.character(T.max$Species.phylo) T.max$Species.phylo[c(9)] T.max$Species.phylo[c(9)]<-c("Desmognathus_ochrophaeus2") rownames(T.max)<-T.max$Species.phylo T.max<-T.max[match(trT.max$tip.label,rownames(T.max)),] all.equal(trT.max$tip.label, T.max$Species.phylo) #### PGLS lm.Tmax<-lm(T.max.value~abs(Lat), T.max) summary(lm.Tmax) Tmax.pgls<-comparative.data(trT.max, T.max, "Species.phylo", na.omit = F) results.pgls.Tmax<-pgls(T.max.value~abs(Lat), Tmax.pgls, lambda="ML") summary(results.pgls.Tmax)