| dudi.pca {ade4} | R Documentation |
dudi.pca performs a principal component analysis of a data frame and
returns the results as objects of class pca and dudi.
dudi.pca(df, row.w = rep(1, nrow(df))/nrow(df),
col.w = rep(1, ncol(df)), center = TRUE, scale = TRUE,
scannf = TRUE, nf = 2)
df |
a data frame with n rows (individuals) and p columns (numeric variables) |
row.w |
an optional row weights (by default, uniform row weights) |
col.w |
an optional column weights (by default, unit column weights) |
center |
a logical or numeric value, centring option if TRUE, centring by the mean if FALSE no centring if a numeric vector, its length must be equal to the number of columns of the data frame df and gives the decentring |
scale |
a logical value indicating whether the column vectors should be normed for the row.w weighting |
scannf |
a logical value indicating whether the screeplot should be displayed |
nf |
if scannf FALSE, an integer indicating the number of kept axes |
Returns a list of classes pca and dudi (see dudi) containing the used information
for computing the principal component analysis :
tab |
the data frame to be analyzed depending of the transformation arguments (center and scale) |
cw |
the column weights |
lw |
the row weights |
eig |
the eigenvalues |
rank |
the rank of the analyzed matrice |
nf |
the number of kept factors |
c1 |
the column normed scores i.e. the principal axes |
l1 |
the row normed scores |
co |
the column coordinates |
li |
the row coordinates i.e. the principal components |
call |
the call function |
cent |
the p vector containing the means for variables (Note that if center = F, the vector contains p 0) |
norm |
the p vector containing the standard deviations for variables i.e. the root
of the sum of squares deviations of the values from their means divided by n (Note that if norm = F, the vector contains p 1) |
Daniel Chessel
Anne B Dufour dufour@biomserv.univ-lyon1.fr
prcomp, princomp in the mva library
data(deug)
deug.dudi <- dudi.pca(deug$tab, center = deug$cent,
scale = FALSE, scan = FALSE)
par(mfrow = c(2,2))
s.class(deug.dudi$li, deug$result, cpoint = 1)
s.arrow(deug.dudi$c1, lab = names(deug$tab))
deug.dudi1 <- dudi.pca(deug$tab, center = TRUE,
scale = TRUE, scan = FALSE)
s.class(deug.dudi1$li, deug$result, cpoint = 1)
s.corcircle(deug.dudi1$co, lab = names(deug$tab),
full = FALSE, box = TRUE)
par(mfrow = c(1,1))
# for interpretations
par(mfrow = c(3,3))
par(mar = c(2.1,2.1,2.1,1.1))
for(i in 1:9) {
hist(deug.dudi$tab[,i], xlim = c(-40,40), breaks = seq(-45, 35, by = 5),
prob = TRUE, right = FALSE, main = names(deug$tab)[i], xlab = "",
ylim = c(0,0.10))
abline(v = 0, lwd = 3)
}
par(mfrow = c(1,1))