Compute a fuzzy set for samples along a specified environmental or experimental gradient based on sample similarities and gradient values as weights. The fuzzy set memberships represent the degree to which a sample is similar to one end of the gradient while not similar to the other.
# S3 method for formula
fso(formula,dis,data,permute=FALSE,...)
# S3 method for default
fso(x,dis,permute=FALSE,...)
# S3 method for fso
summary(object,...)
An object of class ‘fso’ which has the following elements:
the fuzzy membership values for individual plots in the fuzzy set. If x is a matrix or dataframe then mu is also a matrix of the same dimension.
a copy of data vector or matrix y
the correlation between the original vector and the fuzzy set. If x is a matrix or dataframe then r is a vector with length equal to the number of columns in the matrix or dataframe.
the probability of obtaining a correlation between the data and fuzzy set as large as observed
the correlation of pair-wise distances among each fuzzy set compared to the dissimilarity matrix from which the fso was constructed
the variable name(s) from matrix y
a formula in the form of ~x+y+z (no LHS)
a dist object such as that returned by dist
,
dsvdis
, or ‘vegdist’
a data frame that holds variables listed in the formula
if FALSE, estimate probabilities from Z distribution for correlation; if numeric, estimate probabilities from permutation of input
a numerical vector, a matrix, or numeric dataframe
an object of class ‘fso’
generic arguments for future use
David W. Roberts droberts@montana.edu
The algorithm converts the input to a full symmetric similarity matrix and bounds [0,1] (if necessary). It then calculates several fuzzy sets: $$mu_a(i) = (x_i-min(x))/(max(x)-min(x))$$ $$mu_b(i) = 1 - mu_a(i)$$ $$mu_c(i) = \Bigl(\sum_j mu_a(j) \times y_{i,j}i\Bigr) / \sum_j \mu_a(j)$$ $$mu_d(i) = (\sum_j mu_b(j) \times y_{i,j}) / \sum_j \mu_b(j)$$
A separate fuzzy set ordination is calculated for each term in the formula. If x is a matrix or dataframe a separate fuzzy set ordination is calculated for each column or field.
If permute is numeric, the permutation is performed permute-1 times, and the probability is estimated as \((correlations >= observed + 1)/permute\)
Roberts, D.W. 1986. Ordination on the basis of fuzzy set theory. Vegetatio 66:123-131.
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.
library(labdsv)
data(bryceveg)
data(brycesite)
dis <- dsvdis(bryceveg,'bray/curtis')
elev.fso <- fso(brycesite$elev,dis)
elev.fso <- fso(~elev,dis,data=brycesite)
plot.fso(elev.fso)
summary(elev.fso)
Run the code above in your browser using DataLab