今天我们将要学习R语言进阶中最重要的统计内容---主成分分析,它在我们的研究中几乎是无处不在,应用最广的就是将主成分放入回归模型进行拟合,用于矫正相关的混杂因素。
主成分分析的基本思想是将多个变量进行线性组合,在保留原数据主要特征的同时减少变量个数,从而达到降维的目的。R语言的内置函数princomp()提供了未经旋转的主成分分析。
1. 常规主成分分析
在这里,我还将以鸢尾花数据集(iris)为例介绍如何在R中进行主成分分析:
# 主成分分析
# 输入原始数据并提取相关主成分
mydata <- iris # 将iris命名成mydata以便后续操作
mydata$type[which(mydata$Species== "setosa")]<- 0 # 设置setosa为0
mydata$type[which(mydata$Species== "versicolor")]<- 1 # 设置versicolor为1
mydata$type[which(mydata$Species== "virginica")]<- 2 # 设置virginica为2
attach(mydata) # 固定数据框
fit <- princomp(~ Sepal.Length+Sepal.Width+Petal.Length+Petal.Width, cor=TRUE) # 对花萼和花瓣的相关数据进行主成分分析,cor=TRUE表示从相关系数矩阵提取主成分(实际上是对数据的一种标准化)
summary(fit) # 输出各个主成分的解释方差
<