mfso: Multidimensional Fuzzy Set Ordination

View source: R/fso.R

mfsoR Documentation

Multidimensional Fuzzy Set Ordination


A multidimensional extension of fuzzy set ordination (FSO) that constructs a multidimensional ordination by mapping samples from fuzzy topological space to Euclidean space for statistical analysis. MFSO can be used in exploratory or testing modes.


## S3 method for class 'formula'
## Default S3 method:
## S3 method for class 'mfso'



Model formula, with no left hand side. Right hand side gives the independent variables to use in fitting the model


a dist object of class ‘dist’ returned from dist, ‘vegdist’, or dsvdis


a data frame containing the variables specified in the formula


a switch to control how the probability of correlations is calculated. permute=FALSE (the default) uses a parametric Z distribution approximation; permute=n permutes the independent variables (permute-1) times and estimates the probability as (m+1)/(permute) where m is the number of permuted correlations greater than or equal to the observed correlation.


a switch to control scaling of axes after the first axis. If lm=TRUE (the default) each axis is constructed independently, and then subjected to a Gram-Schmidt orthogonalization to all previous axes to preserve only the the variability that is uncorrelated with all previous axes. If lm=FALSE, the full extent of all axes is preserved without correcting for correlation with previous axes.


a switch to control how the initial fuzzy set axes are scaled: 1 = use raw μ membership values, 2 = relativize μ values [0,1], 3 = relativize μ values [0,1] and multiply by respective correlation coefficient.


a quantitative matrix or dataframe. One axis will be fit for each column


a vector passed from the formula version of mfso to control for missing values in the data


an object of class ‘mfso’


generic arguments for future use


mfso performs individual fso calculations on each column of a data frame or matrix, and then combines those fso axes into a higher dimensional object. The algorithm of fuzzy set ordination is described in the help file for fso. The key element in mfso is the Gram-Schmidt orthogonalization, which ensures that each axis is independent of all previous axes. In practice, each axis is regressed against all previous axes, and the residuals are retained as the result.


an object of class ‘mfso’ with components:


a matrix of fuzzy set memberships of samples, analogous to the coordinates of the samples along the axes, one column for each axis


a dataframe containing the independent variables as columns


a vector of correlation coefficients, one for each axis in order


a vector of probabilities of observing correlations as high as observed


a vector of variables names used in fitting the model


a vector of the fraction of variance for an axis that is independent of all previous axes


MFSO is an extension of single dimensional fuzzy set ordination designed to achieve low dimensional representations of a dissimilarity or distance matrix as a function of environmental or experimental variables.

If you set lm=FALSE, an mfso is equivalent to an fso, but the plotting routines differ. For an mfso, the plotting routine plots each axis against all others in turn; for an fso the plotting routine plots each axis against the environmental or experimental variable it is derived from.


David W. Roberts


Roberts, D.W. 2007. Statistical analysis of multidimensional fuzzy set ordinations. Ecology 89:1246-1260.

Roberts, D.W. 2009. Comparison of multidimensional fuzzy set ordination with CCA and DB- RDA. Ecology. 90:2622-2634.


    data(bryceveg) # returns a vegetation dataframe
    data(brycesite) # returns a dataframe of environmental variables
    dis.bc <- dsvdis(bryceveg,'bray/curtis')
                  # returns an object of class sQuote{dist}
    demo.mfso <- mfso(~elev+slope+av,dis.bc,data=brycesite) # creates the mfso
    ## Not run: plot(demo.mfso)

fso documentation built on Sept. 26, 2022, 5:06 p.m.

Related to mfso in fso...