A novel method is presented for performing principal component analysis on a spectral data set. The method is fast, reliable, and conceptually easy to follow. The orthogonalization is completed by means of a series of averages. An initial pass through the data yields the first average or loading vector. In each succeeding pass, a new loading vector and the scores for the previously calculated vector are determined. The method has been applied to the analysis of broad-band UV spectra and to near-infrared gas-phase spectra. The results are both qualitatively and quantitatively comparable to standard methods such as the Jacobi transformation, Householder reduction, singular value decomposition, and nonlinear iterative partial least squares (NIPALS). In terms of computational efficiency, the successive average approach is bettered only by Gram-Schmidt orthogonalization, which does not provide the benefits of a principal component analysis.