Given a numeric matrix which may or may not contain NAs, pc1 standardizes the columns to have mean 0 and variance 1 and computes the first principal component using prcomp. The proportion of variance explained by this component is printed, and so are the coefficients of the original (not scaled) variables. These coefficients may be applied to the raw data to obtain the first PC.

pc1(x, hi)

Arguments

x

numeric matrix

hi

if specified, the first PC is scaled so that its maximum value is hi and its minimum value is zero

Value

The vector of observations with the first PC. An attribute "coef" is attached to this vector. "coef" contains the raw-variable coefficients.

Author

Frank Harrell

See also

Examples

set.seed(1)
x1 <- rnorm(100)
x2 <- x1 + rnorm(100)
w <- pc1(cbind(x1,x2))
#> Fraction variance explained by PC1: 0.842 
#> 
#> Coefficients to obtain PC1:
#> 
#> Intercept        x1        x2 
#>    -0.124     0.787     0.539 
attr(w,'coef')
#> Intercept        x1        x2 
#>    -0.124     0.787     0.539