sub-topics; by extension, species and environmental data obtained from different
layers of soil, and so on) has also been developed (Le Dien and Pagès 2003). A first
promising ecological application of this Hierarchical Multiple Factor Analysis
(HMFA) was devoted to the exploration of the structural relationships among
vegetation, soil fauna and humus form in a subalpine forest ecosystem (Bernier
and Gillet 2012). Its principle is to compute a MFA at each level of the hierarchy of
variables, starting at the lowest (most resolved) level; the (weighted) results (PCA
axes) resulting from the MFA at one level are used at the next (higher) level, where a
new weighting is done according to the (smaller) number of groups. HMFA can be
run with function HMFA() of the package FactoMineR (Lê et al. 2008)
6.10.2 Multiple Factor Analysis Using FactoMineR
In the code below, we apply MFA to three subsets of the Doubs data: the species
(Hellinger-transformed abundances), the physiographic variables (upstreamdownstream gradient), and the chemical variables (water quality). Note that this
example is not at all equivalent to a constrained ordination where the species data are
explained by environmental variables and where the focus is put on an underlying,
one-directional causal model. MFA proposes a symmetric, exploratory point of
view, where correlative structures are exposed without any reference to a directionality of possible causal relationships. No formal directional hypothesis is tested,
either. This approach is therefore not adapted to the modelling of asymmetric
relationships, a task devoted to RDA or CCA. However, MFA could be used in
the early stages of a research project as a neutral data exploration technique to help
generate causal hypotheses, which could be tested afterwards using independent
data sets.
The function MFA() includes an important argument type, which allows the
specification of the mathematical type of each subset: "c" for continuous variables
(to run a PCA on a covariance matrix), "s" for continuous variables requiring
standardization (to run a PCA on a correlation matrix) or "n" for nominal variables
(to run a multiple correspondence analysis (MCA, Sect. 5.4.5). In our case, we have
to state that the species subset belongs to type "c" whereas the two environmental
subsets (chemistry and physiography) belong to type "s".
One can draw a scree plot and a broken stick model of the MFA eigenvalues, but
function screeplot.cca() of vegan does not work on the output of the
MFA() function, which belongs to FactoMineR. This is why we wrote a function
called screestick(), which uses a vector of eigenvalues. That vector can be
retrieved from the output object of an ordination produced by any package.
6.10 Multiple Factor Analysis (MFA)
283
layers of soil, and so on) has also been developed (Le Dien and Pagès 2003). A first
promising ecological application of this Hierarchical Multiple Factor Analysis
(HMFA) was devoted to the exploration of the structural relationships among
vegetation, soil fauna and humus form in a subalpine forest ecosystem (Bernier
and Gillet 2012). Its principle is to compute a MFA at each level of the hierarchy of
variables, starting at the lowest (most resolved) level; the (weighted) results (PCA
axes) resulting from the MFA at one level are used at the next (higher) level, where a
new weighting is done according to the (smaller) number of groups. HMFA can be
run with function HMFA() of the package FactoMineR (Lê et al. 2008)
6.10.2 Multiple Factor Analysis Using FactoMineR
In the code below, we apply MFA to three subsets of the Doubs data: the species
(Hellinger-transformed abundances), the physiographic variables (upstreamdownstream gradient), and the chemical variables (water quality). Note that this
example is not at all equivalent to a constrained ordination where the species data are
explained by environmental variables and where the focus is put on an underlying,
one-directional causal model. MFA proposes a symmetric, exploratory point of
view, where correlative structures are exposed without any reference to a directionality of possible causal relationships. No formal directional hypothesis is tested,
either. This approach is therefore not adapted to the modelling of asymmetric
relationships, a task devoted to RDA or CCA. However, MFA could be used in
the early stages of a research project as a neutral data exploration technique to help
generate causal hypotheses, which could be tested afterwards using independent
data sets.
The function MFA() includes an important argument type, which allows the
specification of the mathematical type of each subset: "c" for continuous variables
(to run a PCA on a covariance matrix), "s" for continuous variables requiring
standardization (to run a PCA on a correlation matrix) or "n" for nominal variables
(to run a multiple correspondence analysis (MCA, Sect. 5.4.5). In our case, we have
to state that the species subset belongs to type "c" whereas the two environmental
subsets (chemistry and physiography) belong to type "s".
One can draw a scree plot and a broken stick model of the MFA eigenvalues, but
function screeplot.cca() of vegan does not work on the output of the
MFA() function, which belongs to FactoMineR. This is why we wrote a function
called screestick(), which uses a vector of eigenvalues. That vector can be
retrieved from the output object of an ordination produced by any package.
6.10 Multiple Factor Analysis (MFA)
283
