It's a basic problem but I have never done that before. I have 10 species characterized by 6 ordinale variables. How can I measure the "ecological distance" between these species?
I expect you'll get a lot of responses to this question and lots of suggestions to use specific, purpose-built analyses for ecological data. Given the relative simplicity of your data set, I suggest you start with relatively simple, generic analyses and move to more complex and assumption-dependent ones later, only if you are not satisfied with the fist round of analysis.
If I had your data my overall approach would be to attempt to reduce the dimensionality of the data and simultaneously produce a data space within which you can calculate inter-specific distances. I would try both of the following approaches and compare the results.
Principal components analysis
Principal coordinates analysis of the inter-specific distance (or similarity) matrix
For the Prinicpal Components analysis you choices are essentially to analyze the data matrix directly, or to analyze the correlation matrix caclulated from the data matrix. For the Principal Coordinates analysis your decisions start with how to construct the distance (or similarity) matrix. Given the nature of your data you might want to choose a City-Block or a Mahalanobis metric rather than a standard Euclidean metric, but whatever your initial choice, you should examine two or three different options to see how robust the distance matrix is qualitatively to variations in the underlying choice of distance metric.
In both types of analysis you will end up with a projection of the species into a lower (i.e. fewer than 6) dimensional space with a set of coordinates marking the positions of the species. Standard Euclidean distance calculations can then be used to calculate the separation of the species in that space. The interpretation of the distances in terms of ecology will be context dependent, but is often relatively straightforward, especially when (as in your case) there are relatively few variables in the initial data set. As I said there are lots of purpose built analyses out there, many of which are essentially elaborations of these basic statistical methods, and which are available in user-friendly software. My advice would be to focus on an approach with a good statistical grounding and work in a statistical environment (R, SAS, Genstat, Statistica, etc) where you can control the analyses and where the algorithms are well tested.
Personally, if the question is simply about distance ( ie similarity) between species, I would simply start with dissimilar matrix and use a hierarchical agglomeration clustering techniques to decipher the distance between the species. Dissimilar matrix is the reverse similarity matrix as what Neil McRobert described above, and decision of measures would be critical. Euclidean distance for instance tend to do rather badly in non-normal data set.
The advantage of hierarchical cluster is the ease of interpretation. Species that are similar (according to the characterisation species variable) will be linked in easy to interprete branching, much like how systematic scientist utilise dendogram. Furthermore, the different ways to link the hierarchical cluster could also provide further information, or used as test to further verify the distances between species.
Other means of validating the distances could be using non-parametric multidimensional scaling ordination, or pca.
By the way Emmanuel Corse, what is the size of your data set? And are you simply asking for distance between species, or species response to the 6 ordinal variables you'd mentioned? The latter would require a much different type of analysi.
p.s. there's always value to run pca as an exploration, if your data is reasonably normal and the data set is reasonably large).
I would also go for an ordination technique in your case. First of all to reduce your 6 dimensions to 2 or 3 D, which can be plotted in a scatterplot. This offers you a simple visual interpretation of your results. Furthermore, the ordination scores can be used to identify the most important environmental gradients that are responsible for the distance between the species.
Like already stated, PCA has a number of assumptions like normailty of the data and linear relationschips between the variables. NMS is good non-parametric alternative.
It depends on your research purpose, and I recommend you use software R to calculate "ecological distance", you can find lots of helpful documents about this topic. For example, in package "vegan", you can calculate Bray-Curtis distance.
For Adam: I want just distance between species, not species response. In fact this is ecological traits referring to habitat use (eg.: Stream/river/large river; spawning migration or not, maximum body size, ....)