make.TPD.2D.low.def(targetGroupName, PCAImpute, alphaUse=0.95, ...)

Low-resolution 2D TPD estimation — faster, suited for large datasets.

functional diversity
Args:targetGroupName — group identifierPCAImpute — PCA scoresalphaUse=0.95 — threshold
make.TPD.2D.low.def <- function(targetGroupName, PCAImpute, alphaUse = 0.95,
                                saveFile = paste0(getwd(), "/TPDs2DLowDef.rds")) {
  require(TPD)
  cat(paste("\n ESTIMATING TPDs for: ", targetGroupName, "\n"))
  dimensions <- 2
  traitsUSE <- PCAImpute$traitsUse[, 1:dimensions]
  colnames(traitsUSE) <- paste0("Comp.", 1:2)
  gridSize <- 100
  sdTraits <- sqrt(diag(Hpi.diag(traitsUSE)))

  TPDsAux <- TPDsMean(
    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()
}