R: Fuzzy Correspondence Analysis and Fuzzy Principal Components...

dudi.fca {ade4} | R Documentation

## Fuzzy Correspondence Analysis and Fuzzy Principal Components Analysis

### Description

Theses functions analyse a table of fuzzy variables.
A fuzzy variable takes values of type a=(a1,…,ak) giving the importance of k categories.
A missing data is denoted (0,...,0).
Only the profile a/sum(a) is used, and missing data are replaced by the mean profile of the others in the function `prep.fuzzy.var`. See ref. for details.

### Usage

    prep.fuzzy.var (df, col.blocks, row.w = rep(1, nrow(df)))
    dudi.fca(df, scannf = TRUE, nf = 2)
    dudi.fpca(df, scannf = TRUE, nf = 2)

### Arguments

`df` | a data frame containing positive or null values
`col.blocks` | a vector containing the number of categories for each fuzzy variable
`row.w` | a vector of row weights
`scannf` | a logical value indicating whether the eigenvalues bar plot should be displayed
`nf` | if scannf FALSE, an integer indicating the number of kept axes

### Value

The function `prep.fuzzy.var` returns a data frame with the attribute `col.blocks`. The function `dudi.fca` returns a list of class `fca` and `dudi` (see dudi) containing also

`cr` | a data frame which rows are the blocs, columns are the kept axes, and values are the correlation ratios.

The function `dudi.fpca` returns a list of class `pca` and `dudi` (see dudi) containing also

1. cent

2. norm

3. blo

4. indica

5. FST

6. inertia

### Author(s)

Daniel Chessel
Anne-Béatrice Dufour anne-beatrice.dufour@univ-lyon1.fr

### References

Chevenet, F., Dolédec, S. and Chessel, D. (1994) A fuzzy coding approach for the analysis of long-term ecological data. Freshwater Biology, 31, 295–309.

### Examples

    w1 <- matrix(c(1,0,0,2,1,1,0,2,2,0,1,0,1,1,1,0,1,3,1,0), 4, 5)
    w1 <- data.frame(w1)
    w2 <- prep.fuzzy.var(w1, c(2, 3))
    w1
    w2
    attributes(w2)

    data(bsetal97)
    w <- prep.fuzzy.var(bsetal97$biol, bsetal97$biol.blo)

    if(adegraphicsLoaded()) {
      g1 <- plot(dudi.fca(w, scann = FALSE, nf = 3), plabels.cex = 1.5)
    } else {
      scatter(dudi.fca(w, scann = FALSE, nf = 3), csub = 3, clab.moda = 1.5)
      scatter(dudi.fpca(w, scann = FALSE, nf = 3), csub = 3, clab.moda = 1.5)
    }

    ## Not run:
    w1 <- prep.fuzzy.var(bsetal97$biol, bsetal97$biol.blo)
    w2 <- prep.fuzzy.var(bsetal97$ecol, bsetal97$ecol.blo)
    d1 <- dudi.fca(w1, scannf = FALSE, nf = 3)
    d2 <- dudi.fca(w2, scannf = FALSE, nf = 3)
    plot(coinertia(d1, d2, scannf = FALSE))

    ## End(Not run)

[Package ade4 version 1.7-17 Index]