From c3fd7d03d617e8fdce09c67c974e1f5becc27911 Mon Sep 17 00:00:00 2001
From: Francesco Sabatini <francesco.sabatini@idiv.de>
Date: Wed, 19 Aug 2020 14:15:28 +0200
Subject: [PATCH] Fixed bug on exclusion of species without traits

---
 99_HIDDEN_functions.R | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/99_HIDDEN_functions.R b/99_HIDDEN_functions.R
index 1b6bcfe..c5c919a 100644
--- a/99_HIDDEN_functions.R
+++ b/99_HIDDEN_functions.R
@@ -41,13 +41,14 @@ get.corXY.bootstrap <- function(comm, traits, trait.sel="all", bootstrap=199){
   W.beals <- as.data.frame(beals(comm, include=T, type=2))
   # permute traits 
   ### Create vector of species to resample from, which exclude species with NAs
-  ids <- 1:nrow(traits)
-  id.nas <- ids[which(rowSums(is.na(traits))>0)]
+  traits.ii <- traits[,ii, drop=F]
+  ids <- 1:nrow(traits.ii)
+  id.nas <- ids[which(rowSums(is.na(traits.ii))==ncol(traits.ii))]
   toresample <- ids[!ids %in% id.nas]
   ## create list of indices of permuted traits, but without shuffling traits with missing data
   ## the length of the list is = to the number of bootstraps
   index.traits <- lapply(1:(bootstrap+1), function(x){
-    out <- rep(NA, nrow(traits))
+    out <- rep(NA, nrow(traits.ii))
     out[id.nas] <- id.nas
     out[is.na(out)] <- sample(toresample, replace=F)
     return(out)
-- 
GitLab