make.TPDLarge(targetGroupName, PCAImpute, alphaUse=0.95, TPDsMean_large, ...)

TPD computation for very large assemblages using a pre-computed reference TPD.

functional diversity
Args:targetGroupName — group namePCAImpute — scoresTPDsMean_large — reference TPD object
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()
}