--- a
+++ b/R/bootstrap.R
@@ -0,0 +1,20 @@
+bootstrap <- function(data, n_reps) {
+  results <- numeric(n_reps)
+  n <- nrow(data)
+  i <- matrix(sample(n, n * n_reps, replace = TRUE), n_reps, n)
+  freqs <- t(apply(i, 1, tabulate, ncol(i)))
+  for (rep in seq_len(n_reps)) {
+    samp <- freqs[rep, ]
+    jac <- JS(data, samp)
+    results[rep] <- mean(jac)
+  }
+  return(results)
+}
+
+#' @importFrom vegan vegdist
+JS <- function(data, indices) {
+  d <- data[indices, ]
+  jac <- vegan::vegdist(d, method = "jaccard")
+  jac1 <- 1 - jac
+  return(mean(jac1))
+}