(defn best-rest [data] "data = binned version = a" (let [group-it0 (group-by data (- (ncol data) 1)) group-it (map #(if (= (nrow %) 1) [%] %) group-it0)] (loop [g group-it results (transient [])] (if (empty? g) (persistent! results) (recur (rest g) (conj! results (vector (first g) (matrix (apply concat (filter #(not= (first g) %) group-it))))))))))