使用R语言对SSR数据做主成分分析(PCA)的一个简单小例子

Python016

使用R语言对SSR数据做主成分分析(PCA)的一个简单小例子,第1张

示例数据来自于R语言包 poppr ,csv文件存储,数据格式如下

使用到的是R语言的 poppr 包中的 read.genalex() 函数

poppr 第一次使用需要先安装

读入数据

读入数据直接是 genclone object,使用函数 genclone2genind() 将其转换成genind object,接下来使用 ade4 包中的 dudi.pca() 函数做主成分分析

主成分的结果存储在li中

还是认为的分个组,然后做散点图

明天的推文再继续这部分内容吧!

主成分分析和探索性因子分析是两种用来探索和简化多变量复杂关系的常用方法。

主成分分析(PCA)是一种将数据降维技巧,它将大量相关变量转化成一组很少的不相关变量,这些无相关变量称为主成分。

探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法。

R基础安装包提供了PCA和EFA的函数,分别是princomp()和factanal()。本章重点介绍psych包中提供的函数,该包提供了比基础函数更丰富和有用的选项。

最常见步骤

1、数据预处理,在计算前请确保数据没有缺失值;

2、选择因子模型,是选择PCA还是EFA,如果选择EFA,需要选择一种估计因子模型,如最大似然法估计;

3、判断要选择的主成分/因子数目;

4、选择主成分/因子;

5、旋转主成分/因子;

6、解释结果;

7、计算主成分或因子得分。

加载psych包

library(ggplot2)

library(psych)

展示基于观测特征值的碎石检验、根据100个随机数据矩阵推导出来的特征值均值、以及大于1的特征值准则(Y=1的水平线)

fa.parallel(USJudgeRatings[, -1], fa = "pc", n.iter = 100, show.legend = FALSE, main = 'Scree plot with parallel analysis')

对数据USJudgeRatings进行主成分分析

pc<-principal(USJudgeRatings[, -1],nfactors=1)

pc