02_PCA主成分分析

作者: 生信小白 | 来源:发表于2021-05-14 23:42 被阅读0次

    主成分分析(principal component analysis,PCA)是一种常见的数据降维方法:目的是减少数据集的维数,同时保持数据集中的对方差贡献最大的特征,即在“信息”损失较小的前提下,将高维的数据转换到低维,从而减小计算量。

    实操前准备好表达矩阵以及样本信息两份文件:
    准备文件的格式参考上一篇文章

    1. 表达矩阵
      2.样本信息

    实操代码:

    01_读入数据(表达矩阵和样本信息)

    dat = read.table("GeneExpression.txt",header=TRUE,sep="\t")

    traits = read.table('sampleTraits.txt',sep="\t",header= T)

    02_定义颜色

    blue = "#307eb9"

    purple = "#974e9e"

    red = "#e41e25"

    orange = "#f57f21"

    yellow = "#f4ed35"

    lblue = "#74d7ff"

    red2 = "#ff1751"

    green = "#4cb049"

    color = factor(traits$grade,

    labels = c(lblue,purple,orange,yellow,red2,green,"black"),

    levels = c("G1","G2","G3","G4","G5","G6","G7"))

    03_主成分分析计算

    pca <- princomp(dat)

    04_可视化

    0401_draw 3d plot--1" 交互式绘图

    安装rgl R包

    BiocManager::install("rgl")

    install.packages("httpuv") ##⚠️安装此函数出现询问,选择none,否则可能报错

    library(rgl)

    plot3d(pca$loadings[,1:3],col=color,

    type="s",radius=0.005,

    grid=50L,pch=16)

    0402_draw 3d plot--2 平面图

    一个角度

    BiocManager::install("scatterplot3d") ##下载scatterplot3d R包

    library(scatterplot3d)

    scatterplot3d(pca$loadings[,1:3],main='PCA',color=color,type='p',

    highlight.3d=F,angle=60,grid=T,box=T,scale.y=1,

    cex.symbols=0.8,pch=16,col.grid='lightblue')

    legend("topright",paste("G",1:7,sep=""),fill=c(lblue,purple,orange,yellow,red2,green,"black"),box.col="grey")

    多个角度

    library(scatterplot3d)

    首先定义一个绘图函数

    pdf('pca.pdf',onefile=TRUE,width=8,height=8)

    diffangle <- function(ang){

    scatterplot3d(pca$loadings[,1:3],main='PCA',color=color,type='p',

    highlight.3d=F,angle=ang,grid=T,box=T,scale.y=1,

    cex.symbols=1.2,pch=16,col.grid='lightblue')

    legend("topright",paste("G",1:7,sep=""),fill=c(lblue,purple,orange,yellow,red2,green,"black"),box.col="grey")

    }

    使用循环函数,从-360度到360度,每隔5度运行一次函数绘制一个图

    sapply(seq(-360,360,5),diffangle)

    dev.off()

    相关文章

      网友评论

        本文标题:02_PCA主成分分析

        本文链接:https://www.haomeiwen.com/subject/kzacjltx.html