2020-09-02-R语言绘制PCA图

Python011

2020-09-02-R语言绘制PCA图,第1张

1、首先数据均一化

2、

#载入一个CSV文件,header=TRUE保证表头不被当成表格数据,sep=","用逗号把数据分开

mydata<-read.table("abc.csv",header=TRUE,sep=",")

library(ggplot2)

sample.groups<- c(rep(1, 124), rep(2, 54), rep(3, 199))

#把X那一列分成3组,rep(1,124)的意思是124个1,rep(2,54)的意思是54个2,这些都是按照X列的数字设定的,便于将A组的数据分成不同组。

qplot(x=PC1,y=PC2, data=mydata,colour=factor(sample.groups))+theme(legend.position="none")+stat_ellipse(lwd=1)

#x=PC1,y=PC2的意思是设定x,y轴为PC1和PC2那两列。colour=factor(sample.groups)设定3组不同颜色。theme(legend.position="none")是把图例去掉。stat_ellipse(lwd=1)是将不同组的点加上椭圆,lwd=1设定椭圆圈的粗度为1

3、高级选项

给图中的每个点添加标签

library(ggrepel)

#图上显示每个点的标签(标签的名称是A列)

label=mydata$A

#60-141行的标签为空格

label[60:141]=""

qplot(x=PC1,y=PC2, data=mydata,colour=factor(sample.groups))+theme(legend.position="none")+stat_ellipse(lwd=1)+geom_text_repel(label=label)

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

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

poppr 第一次使用需要先安装

读入数据

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

主成分的结果存储在li中

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

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