rm(list = ls()) #清除环境变量的干扰 indataraw <- read.csv('testdata.csv', sep = ',', na.strings = '', header = T) indata <- as.matrix(indataraw) #将列表框数据转换为矩阵数据 #1.利用函数prcomp进行主成分分析 pca <- prcomp(formula = ~A + B + C + D + E, x = indata, retx = T) #在主成分分析中,各主成分的方差等于相应的特征值 pca_eigen_values <- pca$sdev^2 #通过pca求出的特征值 #2.利用主成分分析的定义求解主成分 cov_matrix <- cov(indata, indata, use = 'everything', method = 'pearson') #计算协方差矩阵 #计算协方差矩阵的特征值和特征向量 eigen_result <- eigen(cov_matrix, symmetric = T, only.values = F, EISPACK = F) eigen_values <- eigen_result$values #获取特征值 eigen_vectors <- eigen_result$vectors #获取特征向量 |
|