########################################################################## ### ACP on 5 skull parameters on a Molossus dataset from French Guyana ### ########################################################################## ################################ ### Organization of the data ### ################################ ## X M. coibensis & M. molossus from French Guyana ### Download file from Catzeflis & #catzeflis <- read.csv("C:/Users/ygager/Documents/WRITING-extras/Molossus-Guyana/Molossus-2sp-196ID.csv") catzeflis <- read.csv("C:/Users/ygager/Documents/WRITING-extras/BATS/Molossus-Guyana/Skulls/ms-molossus-barnesi-coibensis_sept14.csv") nrow(catzeflis) ### Check sex str(catzeflis$sexe) catzeflis$sexe <- as.character(catzeflis$sexe) ### Column for species sort(unique(catzeflis$Molossus)) catzeflis$species <- NA catzeflis[catzeflis$Molossus == "M. barnesi","species"] <- "M. barnesi" catzeflis[catzeflis$Molossus == "M. barnesi HOLOTYPE","species"] <- "M. barnesi (Holotype)" catzeflis[catzeflis$Molossus == "M. coibensis","species"] <- "M. coibensis" catzeflis[catzeflis$Molossus == "M. molossus","species"] <- "M. molossus" catzeflis$species <- as.factor(catzeflis$species) ######################### ### Filter skull data ### ######################### ### Filter the dataset for skulls skulls <- catzeflis table(skulls$sexe) #30 females and 20 males View(skulls) ## The individual values of 6 cranial (GLS, CIL, MTL, BaM, BB, and PB) and 1 external (FA) measurements unique(skulls$sexe) unique(skulls$species) sort(unique((skulls$AB.FA))) sort(unique((skulls$GLS))) sort(unique((skulls$CIL))) sort(unique((skulls$MTL))) sort(unique((skulls$BaM))) sort(unique((skulls$BB))) sort(unique((skulls$PB))) ### Correlation matrix plot(skulls[,c("AB.FA","GLS","CIL","MTL","BaM","BB","PB")]) cor(skulls[,c("AB.FA","GLS","CIL","MTL","BaM","BB","PB")]) ### PCA with the skull parameters library(ggbiplot) require(plyr) require(grDevices) skull.pca <- prcomp(skulls[,c("AB.FA","GLS","CIL","MTL","BaM","BB","PB")], scale. = TRUE) skull.species <- skulls$species skull.species pdf("C:/Users/ygager/Documents/WRITING-extras/BATS/Molossus-Guyana/FIG2-COLOR.pdf",onefile=T, width=9,height=9) ggbiplot(skull.pca, obs.scale = 1, var.scale = 1, groups = skull.species, ellipse = TRUE, circle = FALSE, varname.size = 6.3, alpha=0.6, var.axes = FALSE) + geom_point(aes(shape=skull.species,color=skull.species)) + scale_color_manual(values=c("blue","black","#00FF99","orange")) + scale_shape_manual(values=c(25,17,1,5), guide = "none") + theme_bw() + theme(legend.position = "right", legend.text = element_text(face = "italic"), legend.title=element_blank(), axis.title.x = element_text(size=16, face = "bold"), axis.title.y = element_text(size=16, face = "bold")) dev.off() ### Figure in B&W! pdf("C:/Users/ygager/Documents/WRITING-extras/BATS/Molossus-Guyana/FIG2-B&W.pdf",onefile=T, width=9,height=9) ggbiplot(skull.pca, obs.scale = 1, var.scale = 1, groups = skull.species, ellipse = TRUE, circle = FALSE, varname.size = 6.3, alpha=0.6, var.axes = FALSE) + geom_point(aes(shape=skull.species, colour = skull.species),size=3) + theme_bw() + theme(legend.position = "right",legend.text = element_text(face = "italic"), legend.title=element_blank(), axis.title.x = element_text(size=16, face = "bold"), axis.title.y = element_text(size=16, face = "bold")) + scale_colour_manual(values=c("gray25","black","lightgray","gray50"), guide = "none") + scale_shape_manual(values=c(15,18,17,16)) dev.off()