# NOT RUN { require(graphics) ## The variances of the variables in the ## USArrests data vary by orders of magnitude, so scaling is appropriate (pc.cr <- princomp(USArrests)) # inappropriate princomp(USArrests, cor = TRUE) # =^= prcomp(USArrests, scale=TRUE) ## Similar, but different: ## The standard deviations differ by a factor of sqrt(49/50) summary(pc.cr <- princomp(USArrests, cor = TRUE)) loadings(pc.cr) # note that blank entries are small but not zero ## The signs of the columns of the loadings are arbitrary plot(pc.cr) # shows a screeplot. biplot(pc.cr) ## Formula interface princomp(~ ., data = USArrests, cor = TRUE) ## NA-handling USArrests[1, 2] <- NA pc.cr <- princomp(~ Murder + Assault + UrbanPop, data = USArrests, na.action = na.exclude, cor = TRUE) # } # NOT RUN { pc.cr$scores[1:5, ] # } # NOT RUN { ## (Simple) Robust PCA: ## Classical: (pc.cl <- princomp(stackloss)) # } # NOT RUN { ## Robust: (pc.rob <- princomp(stackloss, covmat = MASS::cov.rob(stackloss))) # }
Run the code above in your browser using DataCamp Workspace