even if some analyses are based on results produced in previous chapters. If such
objects are needed, they are recomputed at the beginning of the chapter.
In everyday use, one generally does not produce an R object for every single
operation, nor does one create and name a new graphical window for every plot. We
do that in the book to provide readers with all the entities necessary to backtrack the
procedures, compare results and explore variants. Therefore, after having run most
of the code in a chapter, if one decides to explore another path using some
intermediate result, the corresponding object will be available without need to
re-compute it. This is particularly handy for results of computer-intensive methods
(like some based on large numbers of random permutations).
In the code sections of the book, all calls to graphical windows have been deleted
for brevity. They are found in the electronic code scripts, however. Furthermore, the
book shows several, but not all, graphical outputs for reference.
Sometimes, readers are made aware of some special features of the code or of
tricks used to obtain particular results, by means of hint boxes located at the bottom
of code sections.
Although many methods are applied to the example data, ecological interpretation is not provided in all cases. Sometimes questions are left open to readers, as an
incentive to verify if she or he has correctly understood the method, and hence its
application and the numerical or graphical outputs.
Lastly, for some methods, programming-oriented readers are invited to write their
own code. These incentives are placed in boxes called “code-it-yourself corners”.
When examples are provided, they are meant for pedagogical purposes and do not
pretend at computational efficiency. The aim of these boxes is to help interested
readers code in R the matrix algebra equations presented in Legendre and Legendre
(2012) and obtain the main outputs that ready-made packages provide. The whole
idea is of course to reach the deepest possible understanding of the mathematical
working of some key methods.
1.5 The Data Sets
Apart from rare cases where ad hoc fictitious data are built for special purposes, the
applications rely on two main data sets that are readily available in R. However, data
provided in R packages can be modified over the years. Therefore we prefer to
provide them also in the electronic material accompanying this book, because this
ensures that the results obtained by the readers will be exactly the same as those
presented in the book. The two data sets are briefly presented here. The first (Doubs)
data set is explored in more detail in Chap. 2, and readers are encouraged to apply the
same exploratory methods to the second one.
4
1 Introduction
objects are needed, they are recomputed at the beginning of the chapter.
In everyday use, one generally does not produce an R object for every single
operation, nor does one create and name a new graphical window for every plot. We
do that in the book to provide readers with all the entities necessary to backtrack the
procedures, compare results and explore variants. Therefore, after having run most
of the code in a chapter, if one decides to explore another path using some
intermediate result, the corresponding object will be available without need to
re-compute it. This is particularly handy for results of computer-intensive methods
(like some based on large numbers of random permutations).
In the code sections of the book, all calls to graphical windows have been deleted
for brevity. They are found in the electronic code scripts, however. Furthermore, the
book shows several, but not all, graphical outputs for reference.
Sometimes, readers are made aware of some special features of the code or of
tricks used to obtain particular results, by means of hint boxes located at the bottom
of code sections.
Although many methods are applied to the example data, ecological interpretation is not provided in all cases. Sometimes questions are left open to readers, as an
incentive to verify if she or he has correctly understood the method, and hence its
application and the numerical or graphical outputs.
Lastly, for some methods, programming-oriented readers are invited to write their
own code. These incentives are placed in boxes called “code-it-yourself corners”.
When examples are provided, they are meant for pedagogical purposes and do not
pretend at computational efficiency. The aim of these boxes is to help interested
readers code in R the matrix algebra equations presented in Legendre and Legendre
(2012) and obtain the main outputs that ready-made packages provide. The whole
idea is of course to reach the deepest possible understanding of the mathematical
working of some key methods.
1.5 The Data Sets
Apart from rare cases where ad hoc fictitious data are built for special purposes, the
applications rely on two main data sets that are readily available in R. However, data
provided in R packages can be modified over the years. Therefore we prefer to
provide them also in the electronic material accompanying this book, because this
ensures that the results obtained by the readers will be exactly the same as those
presented in the book. The two data sets are briefly presented here. The first (Doubs)
data set is explored in more detail in Chap. 2, and readers are encouraged to apply the
same exploratory methods to the second one.
4
1 Introduction
