Run PCoAGraph() separately for morphological (M), life-history/reproduction (L), diet (D), and combined (LMD) trait spaces. Compute TPDs for each space using make.TPD.2D.high.def().
phenoBird <- read.csv("data/processed/phenoBirdsImputedREADY.csv")
colnames(phenoBird)[1] <- "scientificNameStd"
rownames(phenoBird) <- phenoBird[, 1]
phenoDiet <- na.omit(as.data.frame(prep.fuzzy(phenoBird[, DietTrait],
col.blocks = ncol(phenoBird[, DietTrait]), label = "diet")))
phenoDiet <- replace(phenoDiet, phenoDiet < 0, 0)
# Combined LMD
handlers(global = TRUE); handlers("txtprogressbar"); plan(multisession)
PCA_Birds_LMD <- PCoAGraph(
x = list(phenoBird[, LHTTrait], phenoBird[, morphoTrait], phenoDiet),
datax = cbind.data.frame(phenoBird[, LHTTrait], phenoBird[, morphoTrait], phenoDiet),
namesx = phenoBird$scientificNameStd, groups = c("Q","Q","F"),
saveFile = "data/processed/PCA_Birds_LMD.rds"
)
TPDs_Birds_LMD <- make.TPD.2D.high.def(
traitsUSE = PCA_Birds_LMD$PCoA$vectors[,1:2],
dimensions = 2, alphaUse = 0.95, gridSize = 100,
saveFile = "data/processed/TPD_Birds_LMD.rds"
); rm(TPDs_Birds_LMD)
# Diet only
PCA_Birds_D <- PCoAGraph(x = list(phenoDiet), datax = cbind.data.frame(phenoDiet),
namesx = phenoBird$scientificNameStd, groups = c("F"),
saveFile = "data/processed/PCA_Birds_D.rds")
TPDs_Birds_D <- make.TPD.2D.high.def(traitsUSE = PCA_Birds_D$PCoA$vectors[,1:2],
dimensions = 2, alphaUse = 0.95, gridSize = 100,
saveFile = "data/processed/TPD_Birds_D.rds"); rm(TPDs_Birds_D)
# Life-history (flip axis 2)
PCA_Birds_L <- PCoAGraph(x = list(phenoBird[, LHTTrait]), datax = cbind.data.frame(phenoBird[, LHTTrait]),
namesx = phenoBird$scientificNameStd, groups = c("Q"),
saveFile = "data/processed/PCA_Birds_L.rds")
PCA_Birds_L <- readRDS("data/processed/PCA_Birds_L.rds")
PCA_Birds_L$PCoACor[,2] <- PCA_Birds_L$PCoACor[,2] * (-1)
PCA_Birds_L$PCoA$vectors[,2] <- PCA_Birds_L$PCoA$vectors[,2] * (-1)
saveRDS(PCA_Birds_L, "data/processed/PCA_Birds_L.rds")
TPDs_Birds_L <- make.TPD.2D.high.def(traitsUSE = PCA_Birds_L$PCoA$vectors[,1:2],
dimensions = 2, alphaUse = 0.95, gridSize = 100,
saveFile = "data/processed/TPD_Birds_L.rds"); rm(TPDs_Birds_L)
# Morphology (flip axis 2)
PCA_Birds_M <- PCoAGraph(x = list(phenoBird[, morphoTrait]), datax = cbind.data.frame(phenoBird[, morphoTrait]),
namesx = phenoBird$scientificNameStd, groups = c("Q"),
saveFile = "data/processed/PCA_Birds_M.rds")
PCA_Birds_M <- readRDS("data/processed/PCA_Birds_M.rds")
PCA_Birds_M$PCoACor[,2] <- PCA_Birds_M$PCoACor[,2] * (-1)
PCA_Birds_M$PCoA$vectors[,2] <- PCA_Birds_M$PCoA$vectors[,2] * (-1)
saveRDS(PCA_Birds_M, "data/processed/PCA_Birds_M.rds")
TPDs_Birds_M <- make.TPD.2D.high.def(traitsUSE = PCA_Birds_M$PCoA$vectors[,1:2],
dimensions = 2, alphaUse = 0.95, gridSize = 100,
saveFile = "data/processed/TPD_Birds_M.rds"); rm(TPDs_Birds_M)