Learn R Programming

ade4 (version 1.01)

pcaivortho: Principal Component Analysis with respect to orthogonal instrumental variables

Description

performs a Principal Component Analysis with respect to orthogonal instrumental variables.

Usage

pcaivortho(dudi, df, scannf = TRUE, nf = 2)

Arguments

dudi
a duality diagram, object of class 'dudi'
df
a data frame with the same rows
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

  • an object of class 'pcaivortho' sub-class of class 'dudi'
  • rankan integer indicating the rank of the studied matrix
  • nfan integer indicating the number of kept axes
  • eiga vector with the all eigenvalues
  • lwa numeric vector with the row weigths (from dudi)
  • cwa numeric vector with the column weigths (from dudi)
  • Ya data frame with the dependant variables
  • Xa data frame with the explanatory variables
  • taba data frame with the modified array (projected variables)
  • c1a data frame with the Pseudo Principal Axes (PPA)
  • asa data frame with the Principal axis of dudi$tab on PAP
  • lsa data frame with the projection of lines of dudi$tab on PPA
  • lia data frame dudi$ls with the predicted values by X
  • l1a data frame with the Constraint Principal Components (CPC)
  • coa data frame with the inner product between the CPC and Y
  • parama data frame containing a summary

References

Rao, C. R. (1964) The use and interpretation of principal component analysis in applied research. Sankhya, A 26, 329--359. Sabatier, R., Lebreton J. D. and Chessel D. (1989) Principal component analysis with instrumental variables as a tool for modelling composition data. In R. Coppi and S. Bolasco, editors. Multiway data analysis, Elsevier Science Publishers B.V., North-Holland, 341--352

Examples

Run this code
par(mfrow = c(2,2))
data(avimedi)
cla <- avimedi$plan$reg:avimedi$plan$str

# simple ordination
coa1 <- dudi.coa(avimedi$fau, scan = FALSE, nf = 3)
s.class(coa1$li, cla, sub = "Sans contrainte")

# within region
w1 <- within(coa1, avimedi$plan$reg, scan = FALSE)
s.match(w1$li, w1$ls, clab = 0, sub = "Intra R�gion")
s.class(w1$li, cla, add.plot = TRUE)

# no region the same result
pcaivnonA <- pcaivortho(coa1, avimedi$plan$reg, scan = FALSE)
s.match(pcaivnonA$li, pcaivnonA$ls, clab = 0, 
    sub = "Contrainte Non A")
s.class(pcaivnonA$li, cla, add.plot = TRUE)

# region + strate
interAplusB <- pcaiv(coa1, avimedi$plan, scan = FALSE)
s.match(interAplusB$li, interAplusB$ls, clab = 0, 
    sub = "Contrainte A + B")
s.class(interAplusB$li, cla, add.plot = TRUE)

par(mfrow = c(1,1))

Run the code above in your browser using DataLab