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中
还是认为的分个组,然后做散点图
明天的推文再继续这部分内容吧!