R基础-10.表达矩阵的样本的相关性-2019-07-21

10.表达矩阵的样本的相关性

参考视频【生信技能树】生信人应该这样学R语言
代码自己学习总结

rm(list = ls()) #一键清空
options(stringsAsFactors = F)


library(airway)#加载airway数据包
data(airway)

exprSet=assay(airway)#表达矩阵
colnames(exprSet)#列名
dim(exprSet)#查看维度

cor(exprSet)#样本间的相关性
#cor(exprSet[,1],exprSet[,2])#第一个样本与第二个样本的相关性
pheatmap::pheatmap(cor(exprSet))#绘制样本间的相关性的热图
Rplot.png
group_list = colData(airway)[,3]
g=group_list
tmp=data.frame(g=group_list)
rownames(tmp)=colnames(exprSet)

pheatmap::pheatmap(cor(exprSet),annotation_col = tmp)
dim(exprSet)
Rplot01.png
选择表达量大于1的,样本量大于5的基因,即在至少在5个样本中出现的基因
#构建function函数是关键
apply(exprSet, 1, function(x) x>3)
x=exprSet[1,]
x
x>1
table(x>1)#统计TRUE的数量
sum(x>1)
sum(x>1)>5
exprSet =exprSet[apply(exprSet,1, function(x) sum(x>1) >5),]#选择表达量大于1的,样本量大于5的基因,即在至少在5个样本中出现的基因
dim(exprSet)

exprSet =log(edgeR::cpm(exprSet)+1)
dim(exprSet)
exprSet = exprSet[names(sort(apply(exprSet, 1, mad), decreasing= T)[1:500]),]
dim(exprSet)

M=cor(log2(exprSet + 1))
tmp=data.frame(g=group_list)
rownames(tmp)=colnames(M)
pheatmap::pheatmap(M,annotation_col = tmp, filename = 'cor.png')
cor.png
dev.off()#关闭画板,重新组织绘画
library(pheatmap)
pheatmap(scale(cor(log2(exprSet+1))))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 生信人应这样学R语言-生信技能树视频 一、介绍R语言及Rstudio 1、R是用于统计分析、绘图的语言和操作环境。...
    看远方的星阅读 13,595评论 3 74
  • 生信技能树联盟入门视频:生信技能树视频课程学习路径,这么好的视频还免费! 专题历史目录:3个学生的linux视频学...
    泥人吴阅读 11,770评论 1 72
  • 生信人的20个R语言习题 1 安装R包 2 了解ExpressionSet对象 CLL包里面就有data(sCLL...
    小梦游仙境阅读 10,338评论 3 7
  • 教程对应B站:【生信技能树】生信人应该这样学R语言配套资料:B站的11套生物信息学公益视频配套讲义、练习题及思维导...
    琪音阅读 6,887评论 0 9
  • 如果你问我:你最敬佩的人是谁?我一定会不假思索地回答你:“当然是老师啊,我敬爱的谭老师!” 谭老师...
    北航附中初二4班美文创作阅读 1,696评论 0 1