fso: Fuzzy Set Ordination

View source: R/fso.R

fsoR Documentation

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 class 'formula'
fso(formula,dis,data,permute=FALSE,...)
## Default S3 method:
fso(x,dis,permute=FALSE,...)
## S3 method for class 'fso'
summary(object,...)

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

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) = (sum_j mu_a(j) * y_{i,j}) / sum_j mu_a(j)

mu_d(i) = (sum_j mu_b(j) * 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.

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

Note

Fuzzy set ordination is a method of multivariate analysis employed in vegetation analysis.

fso can be run with the first argument either a dataframe or a formula (with no left hand side). The formula version has distinct advantages:

1) The data= argument allows the user to specify a data frame containing the variables of interest. In this way variables need not be local.

2) The formula version handles categorical variables by converting them to dummy variables. In the default version, all variables must be quantitative or binary.

3) The formula version is somewhat more graceful about handling missing values in the data.

Author(s)

David W. Roberts droberts@montana.edu

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

    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)

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

Related to fso in fso...