TPD computation for very large assemblages using a pre-computed reference TPD.
make.TPDLarge <- function(targetGroupName, PCAImpute, alphaUse = 0.95, TPDsMean_large,
saveFile = paste0(getwd(), "/TPDsLarge.rds")) {
cat(paste("\n ESTIMATING TPDs for: ", targetGroupName, "\n"))
dimensions <- PCAImpute$dimensions
traitsUSE <- PCAImpute$traitsUse
colnames(traitsUSE) <- paste0("Comp.", 1:dimensions)
gridSize <- ifelse(dimensions == 4, 30, 100)
sdTraits <- sqrt(diag(Hpi.diag(traitsUSE)))
TPDsAux <- TPDsMean_large(
species = rownames(traitsUSE),
means = traitsUSE,
sds = matrix(rep(sdTraits, nrow(traitsUSE)), byrow = TRUE, ncol = dimensions),
alpha = alphaUse,
n_divisions = gridSize
)
saveRDS(TPDsAux, saveFile)
TPDsAux <- NULL
gc()
}