## Multiple Correspondence Analysis

### Description

`dudi.acm` performs the multiple correspondence analysis of a factor table.
`acm.burt` an utility giving the crossed Burt table of two factors table.
`acm.disjonctif` an utility giving the complete disjunctive table of a factor table.
`boxplot.acm` a graphic utility to interpret axes.

### Usage

```dudi.acm (df, row.w = rep(1, nrow(df)), scannf = TRUE, nf = 2)
acm.burt (df1, df2, counts = rep(1, nrow(df1)))
acm.disjonctif (df)
## S3 method for class 'acm'
boxplot(x, xax = 1, ...)
```

### Arguments

 `df, df1, df2` data frames containing only factors `row.w, counts` vector of row weights, by default, uniform weighting `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 `x` an object of class `acm` `xax` the number of factor to display `...` further arguments passed to or from other methods

### Value

`dudi.acm` returns a list of class `acm` and `dudi` (see dudi) containing

 `cr` a data frame which rows are the variables, columns are the kept scores and the values are the correlation ratios

### Author(s)

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

### References

Tenenhaus, M. & Young, F.W. (1985) An analysis and synthesis of multiple correspondence analysis, optimal scaling, dual scaling, homogeneity analysis ans other methods for quantifying categorical multivariate data. Psychometrika, 50, 1, 91-119.

Lebart, L., A. Morineau, and M. Piron. 1995. Statistique exploratoire multidimensionnelle. Dunod, Paris.

`s.chull`, `s.class`

### Examples

```data(ours)
summary(ours)

g1 <- s1d.boxplot(dudi.acm(ours, scan = FALSE)\$li[, 1], ours)
} else {
boxplot(dudi.acm(ours, scan = FALSE))
}
## Not run:
data(banque)
banque.acm <- dudi.acm(banque, scann = FALSE, nf = 3)

} else {
scatter(banque.acm)
}

apply(banque.acm\$cr, 2, mean)
banque.acm\$eig[1:banque.acm\$nf] # the same thing

g3 <- s1d.boxplot(banque.acm\$li[, 1], banque)
g4 <- scatter(banque.acm)
} else {
boxplot(banque.acm)
scatter(banque.acm)
}

s.value(banque.acm\$li, banque.acm\$li[,3])

bb <- acm.burt(banque, banque)
bbcoa <- dudi.coa(bb, scann = FALSE)
plot(banque.acm\$c1[,1], bbcoa\$c1[,1])
# mca and coa of Burt table. Lebart & coll. section 1.4

bd <- acm.disjonctif(banque)
bdcoa <- dudi.coa(bd, scann = FALSE)
plot(banque.acm\$li[,1], bdcoa\$li[,1])
# mca and coa of disjonctive table. Lebart & coll. section 1.4
plot(banque.acm\$co[,1], dudi.coa(bd, scann = FALSE)\$co[,1])

## End(Not run)```