Learn R Programming

fso (version 2.1-2)

fso: Fuzzy Set Ordination

Description

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.

Usage

# 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,...)

Value

An object of class ‘fso’ which has the following elements:

mu

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.

data

a copy of data vector or matrix y

r

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.

p

the probability of obtaining a correlation between the data and fuzzy set as large as observed

d

the correlation of pair-wise distances among each fuzzy set compared to the dissimilarity matrix from which the fso was constructed

var

the variable name(s) from matrix y

Arguments

formula

a formula in the form of ~x+y+z (no LHS)

dis

a dist object such as that returned by dist, dsvdis, or ‘vegdist’

data

a data frame that holds variables listed in the formula

permute

if FALSE, estimate probabilities from Z distribution for correlation; if numeric, estimate probabilities from permutation of input

x

a numerical vector, a matrix, or numeric dataframe

object

an object of class ‘fso’

...

generic arguments for future use

Author

David W. Roberts droberts@montana.edu

Details

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\)

References

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.

Examples

Run this code
    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