Fuzzy Correspondence Analysis and Fuzzy Principal Components Analysis
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.
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)
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 |
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
cent
norm
blo
indica
FST
inertia
Daniel Chessel
Anne-Béatrice Dufour anne-beatrice.dufour@univ-lyon1.fr
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.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.