- 使用转录本tpm,展示转录组样本之间的相似性与差异
fpkm00 <- read.table("6.fpkm.txt",header = T)
#合并具有相同基因名的行
#导入文件时,不要将geneID那一列作为列名
table(duplicated(fpkm00$gene_id)) #统计重复基因名的基因
gene <- fpkm00$gene_id #将基因ID导入到文件夹中
fpkm00 <- fpkm00[,-1] #去除含有基因ID的那一列
fpkm0 <- aggregate(fpkm00, by=list(gene), FUN=sum)
fpkm <- column_to_rownames(fpkm0,"Group.1") #将第一列作为列名
data <- log2(fpkm+1)
datTraits <- data.frame(row.names = colnames(data),group=colnames(data))### 创建datTraits,包含分组、表型等信息
#fix(datTraits)
grouptype <- data.frame(group=sort(unique(datTraits$group)),
groupNo=1:length(unique(datTraits$group)))### 给分组加上编号
datTraits$groupNo = "NA"# fix(grouptype)
for(i in 1:nrow(grouptype)){
datTraits[which(datTraits$group == grouptype$group[i]),'groupNo'] <- grouptype$groupNo[i]}
fix(datTraits)
datTraits
datExpr0 <- as.data.frame(t(data)) ### 转置
group_list <- datTraits$groupNo
dat.pca <- PCA(datExpr0, graph = F)
pca <- fviz_pca_ind(dat.pca,
title = "Principal Component Analysis",
legend.title = "Groups",
geom.ind = c("point","text"), #"point","text"
pointsize = 2,
labelsize = 4,
repel = TRUE, #标签不重叠
col.ind = group_list, # 分组上色
axes.linetype=NA, # remove axeslines
mean.point=F#去除分组中心点
) +
theme(legend.position = "none")+ # "none" REMOVE legend
coord_fixed(ratio = 1) #坐标轴的纵横比
pca