compute_gower_block(start_idx, end_idx, traits_data)

Compute Gower distances for a row subset — use in a loop to handle large trait matrices in memory-safe blocks.

utilitydata
Args:start_idx — first row indexend_idx — last row indextraits_data — full trait data frame
compute_gower_block <- function(start_idx, end_idx, traits_data) {
  block_data <- traits_data[start_idx:end_idx, , drop = FALSE]
  gower_dist_block <- daisy(block_data, metric = "gower")
  return(as.matrix(gower_dist_block))
}