Hi,
I think that the documentation for the biplot function `biplot.princomp' is inconsistent with what it actually does. Here is what the documentation states: pc.biplot If true, use what Gabriel (1971) refers to as a "principal component biplot", with lambda = 1 and observations scaled up by sqrt(n) and variables scaled down by sqrt(n). Then inner products between variables approximate covariances and distances between observations approximate Mahalanobis distance. Here is what the code looks like: > getAnywhere("biplot.princomp") A single object matching 'biplot.princomp' was found It was found in the following places registered S3 method for biplot from namespace stats namespace:stats with value function (x, choices = 1L:2L, scale = 1, pc.biplot = FALSE, ...) { if (length(choices) != 2) stop("length of choices must be 2") if (!length(scores <- x$scores)) stop(gettextf("object '%s' has no scores", deparse(substitute(x))), domain = NA) lam <- x$sdev[choices] if (is.null(n <- x$n.obs)) n <- 1 lam <- lam * sqrt(n) if (scale < 0 || scale > 1) warning("'scale' is outside [0, 1]") if (scale != 0) lam <- lam^scale else lam <- 1 if (pc.biplot) lam <- lam/sqrt(n) biplot.default(t(t(scores[, choices])/lam), t(t(x$loadings[, choices]) * lam), ...) invisible() } 1. Let us consider the default options: scale = 1 and pc.biplot = FALSE. Now, lam = x$sdev * sqrt(n). Hence, the observations (scores) are scaled down by eigenvalue * sqrt(n) and variables (loadings) are scaled up by eigenvalue * sqrt(n). 2. Now consider: scale = 1 and pc.biplot = TRUE. We have, lam = x$sdev . The observations are scaled down by eigenvalue and variables are scaled up by eigenvalue. Thus, in either case the documentation does not seem to be consistent with the implementation. Am I missing something here? Thanks & Best, Ravi. ---------------------------------------------------------------------------- ------------------------------ Ravi Varadhan, Ph.D. Assistant Professor, Center on Aging and Health, Johns Hopkins University School of Medicine (410)502-2619 rvarad...@jhmi.edu http://www.jhsph.edu/agingandhealth/People/Faculty_personal_pages/Varadhan.h tml [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel