Discovering biogeographic and ecological clusters with a graph theoretic spin on factor analysis