diff --git a/R/03_01_presence_preparation.R b/R/03_01_presence_preparation.R
index 6344de7c7232395442a8c48a78c5d87929d7fa58..9fb6ee3d20599f952237d2bfb0ec628c5c5627a6 100644
--- a/R/03_01_presence_preparation.R
+++ b/R/03_01_presence_preparation.R
@@ -74,5 +74,6 @@ occs_final = st_transform(occs_final, proj_string)
 env_data = extract(raster_data, vect(occs_final), ID = F)
 
 # Save occurrences
-occs_final = bind_cols(occs_final, env_data)
+occs_final = bind_cols(occs_final, env_data) %>% 
+  drop_na()
 save(occs_final, file = "data/r_objects/occs_final.RData")
diff --git a/R/03_02_absence_preparation.R b/R/03_02_absence_preparation.R
index 6104ae699dba5989165fd5b5dea42e6e5217054c..951dded4ed19ee26aecd5846fb9749595b9994df 100644
--- a/R/03_02_absence_preparation.R
+++ b/R/03_02_absence_preparation.R
@@ -103,12 +103,15 @@ model_data = furrr::future_walk(
     abs_prob = spatial_kde * env_kde
     while(nrow(abs_spec) < nrow(occs_spec)){
       sample_points_raw = st_sample(sampling_region, nrow(occs_spec))
-      p = extract(abs_prob, vect(sample_points_raw))$z
+      p = na.omit(extract(abs_prob, vect(sample_points_raw))$z)
       x = runif(length(p))
       
       sample_points = sample_points_raw[x<p]
+      if(length(sample_points) == 0){
+        next
+      }
+
       samples_required = nrow(occs_spec) - nrow(abs_spec)
-      
       if(length(sample_points) > samples_required){
         sample_points = sample(sample_points, samples_required)
       }
@@ -145,11 +148,6 @@ model_data = furrr::future_walk(
     # 
     # ggsave(paste0(species, ".pdf"), path = "plots/pa_sampling", device = "pdf", scale = 2)
     
-    # Split into train and test datasets
-    train_index = caret::createDataPartition(pa_spec$present, p = 0.7, list = FALSE)
-    pa_spec$train = 0
-    pa_spec$train[train_index] = 1
-    
     # Define cross-validation folds
     folds = tryCatch({
       spatial_folds = suppressMessages(
@@ -174,9 +172,9 @@ model_data = furrr::future_walk(
     save(pa_spec, file = paste0("data/r_objects/pa_sampling/", species, ".RData"))
   })
 
-# Combine presence absence data
+# Combine presence-absence data
 files = list.files("data/r_objects/pa_sampling/", full.names = T)
 model_data = lapply(files, function(f){load(f); return(pa_spec)}) %>% 
   bind_rows()
 
-save(model_data, file = "data/r_objects/model_data.RData")
\ No newline at end of file
+save(model_data, file = "data/r_objects/pa_sampling/model_data.RData")