2019-04-15

PCA绘图模仿笔记

         PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。在生物信息分析中,PCA常用于分析不同样本之间的相互关系,可以基于表达量或者SNP突变类型进行分析。R语言中内置了PCA分析函数procomp,直接调用该函数可快速对一组数据进行PCA分析,结果可配合ggplot2等包可视化。

1、数据读取格式可为csv文件(逗号分隔符),第一列基因名,第二列····n列为样品名:

a、rawdata = read.csv('E:/桌面/caiyeB.csv',header = T)  #读取存储数据


b、选择性运输下列代码(数据进一步整理):

row.names(rawdata) <- rawdata$test_id #将第一列数据设置为行名保存

tmp <- t(rawdata[,c(-1)]) #删除第一列位置信息,并进行行列转置

cleandata <- tmp[,colSums(tmp !=0) >0] #删除样本中表达量均为0的基因


c、直接调用prcomp函数进行PCA分析,代码如下:

data.pca <- prcomp(cleandata, center = T, scale. = F) 


prcomp 函数的返回值是一个特殊的对像,可以利用summary函数来查看分析的结果。

d、library('ggplot2'), 运行ggplot(as.data.frame(data.pca$x),aes(x=PC1,y=PC2)) + geom_point()


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 老男孩Linux运维第一阶段58期综合考试题 [笔试考试试题(总满分64分,每题4分) 在11月内,每天早上6点到...
    福娃_60ea阅读 140评论 0 0
  • f12在前端js判断函数中加上可以上传php文件 在本地写一个一句话木马后文件名改为jpg之类的,直接上传,抓包...
    留白_bb77阅读 378评论 0 0
  • 关于FFT快速傅氏变换的理解 FFT(Fast Fourier Transformation)是离散傅氏变换(DF...
    秋叶雨梧桐阅读 514评论 0 0
  • 做错事是要还的,我也再还 就像踢足球,一直传球不射门是不行的
    FloorJ_Trudeau阅读 162评论 0 0
  • 外出旅游的老爸老妈今晚回家! 老爸老妈都已70出头了,为了子女,一直都没有很好的享受退休生活。还好外孙...
    懒王戏语阅读 173评论 0 0