【R语言】PCA主成分分析

使用R语言手动实现PCA主成分分析计算,通过计算协方差矩阵计算出数据的主成分得分,根据的分最高的特征进行得分图的绘制

# 读取数据

raw_data <- read.csv("R可视化/data.csv", header = TRUE, fileEncoding = "GBK")

new_data <- raw_data[, -1]



# 标准化数据

standardized_data <- scale(new_data)



# 计算协方差矩阵

cov_matrix <- cov(standardized_data)



# 计算特征值和特征向量

eigen_result <- eigen(cov_matrix)

eigenvalues <- eigen_result$values

eigenvectors <- eigen_result$vectors



# 选择前两个主成分的特征向量

principal_components <- eigenvectors[, 1:2]



# 计算主成分得分

scores <- as.matrix(standardized_data) %*% principal_components



# 绘制得分图

plot(scores[, 1], scores[, 2],

     xlab = 'Comp.1', ylab = 'Comp.2', main = '主成分得分图')

abline(h = 0, lty = 3)

abline(v = 0, lty = 3)



# 在每个点上添加标签

text(scores[, 1], scores[, 2], labels = raw_data[, 1], pos = NULL)





# 输出主成分得分

comp_score <- data.frame(scores)

rownames(comp_score) <- rownames(raw_data)

print("主成分得分:")

print(head(comp_score))

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值