Learn R Programming

ade4 (version 1.7-5)

dudi.fca: 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,\dots,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 ) containing alsoThe 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

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

Run this code
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), pla.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, scann = FALSE, nf = 3)
# d2 <- dudi.fca(w2, scann = FALSE, nf = 3)
# plot(coinertia(d1, d2, scann = FALSE))
# ## End(Not run)

Run the code above in your browser using DataLab