大家好,今天来介绍pheatmap包怎么安装(r语言绘制相关性热图)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!
r语言randomforest包下载不了
原因:1.可能因为lib没有制定文件夹,导致R不知道下载尘芹哪里;2.可能因为源用不了(一个是没有在global option里面裂兄携选择,一个是肆伏因为开了vpn)
解决:
#.libPaths("C:/Users/yeziguniang/Documents/R/Rpakage")##创一个环境让这个包下载到这个路径下面,同时关闭vpn,选择好源
#install.packages("pheatmap")
#library("pheatmap")
成功!
r语言画相关性热图能自动识别数据分布类型吗
Step1. 绘图数据的准备
首先还是要把你想要绘图的数据调整成R语言可以识别的格式, 在excel中保存成csv。
数据的格式如下图:
Step2. 绘图数据的读取
data <- read.csv(“your file path”, header = T)
登录后复制
Step3.绘图所需package的调用
library(pheatmap) ## 调用之前先安装install.packages("pheatmap")
登录氏顷后复制
Step4.绘图
df <- data[,-c(11,12)]
bk <- c(seq(-3, 2,by = 0.01))
pheatmap(df,
cluster_cols = F, cluster_rows = F, scale = "none",
treeheight_col = 0, treeheight_row = 0,
display_numbers = F,
border_color = "black",
color = colorRampPalette(c("blue","white", "red"))(length(bk)))
登录后复制
调整行标签
得到上图之后,小仙发现行名是"1", “2”, “3”… ,并不滚核陵是想要的"Group 1",“Group 2”, “Group 3”…
原来需要将df的rownames重新赋值一下
rownames(df) <- data$Group
rownames(df)
pheatmap(df,
cluster_cols = F, cluster_rows = F, scale = "none",
treeheight_col = 0, treeheight_row = 0,
display_numbers = F,
border_color = "black",
color = colorRampPalette(c("blue","white", "red"))(length(bk)))
登录后复制
添加行注释
很多时候数据不只一列标签,在画热图的时候除了行名或者列名之大戚外,还要添加注释标签
annotation_row = data.frame(Class = factor(data$Class))
rownames(annotation_row) <- data$Group
pheatmap(df,
cluster_cols = F, cluster_rows = F, scale = "none",
treeheight_col = 0, treeheight_row = 0,
annotation_legend = T,
display_numbers = F,
annotation_row = annotation_row,
border_color = "black",
color = colorRampPalette(c("blue","white", "red"))(length(bk)))
登录后复制
调整热图色块和行注释的颜色
mycolors <- c("#66C2A5","#FC8D62","#E78AC3")
names(mycolors) <- unique(annotation_row$Class)
mycolors <- list(Class = mycolors)
pheatmap(df,
cluster_cols = F, cluster_rows = F, scale = "none",
treeheight_col = 0, treeheight_row = 0,
annotation_legend = T,
display_numbers = F,
annotation_row = annotation_row,
annotation_colors = mycolors,
border_color = "black",
color = colorRampPalette(c("navy", "white", "firebrick3"))(length(bk)))
登录后复制
采用默认颜色
如果希望使用pheatmap包默认的色块颜色,只要将以下的语句删掉就可以。
R画图环形热图
热图(heatmap)在生信领域基本就是常规操作,基本技能,入门操作。能画热图的工具也有很多,我自己常用的R包是pheatmap。
最近经常看见环状的热图,所以就搜了一下资料学习一下,测试一下。
环状热图我也经常会在论文中看到,用法和热图相同,但更适合于需要展示较多基因(数据)时来使用。
===安装=====
install.packages("circlize")
install.packages("ComplexHeatmap")
library('ComplexHeatmap')
library('circlize')
===测试===
data<-read.table("expression.txt",header=T,row.names=1)
head(data)
//转化为矩阵哗简世并对其进行归一化
madt<-as.matrix(data)
madt2<-t(scale(t(madt)))
Heatmap(madt2) //这就是默认参数,普通的热图
range(madt2) //查看值的分布
mycol=colorRamp2(c(-1.7, 0.3, 2.3),c("blue", "white", "red")) //定义颜色范围
circos.heatmap(madt2,col=mycol) //默认参数
注:
circos.clear() //绘制完成后需要使用此函数完全清除布局
circos.par(gap.after=c(50)) //
调整圆环首尾间的距离咐激,数值越大,距离越宽
circos.heatmap(madt2,col=mycol, dend.side="inside",rownames.side="outside",rownames.col="black",rownames.cex=0.9,rownames.font=1,cluster=TRUE)
注:dend.side:控制行聚类树的方向,inside为显示在圆环内圈,outside为显示在圆环外圈
#rownames.side:控制矩阵行名的方向,与dend.side相同;但注意二者不能在同一侧,必须一内一外
#cluster=TRUE为对行聚类,cluster=FALSE则不显示聚类
下面是换了inside和outside的结果:
===聚类树的调整和美化(需要用到两个别的包)===
install.packages("dendextend") //改颜色
install.packages("dendsort") //聚类树回调
library(dendextend)
library(dendsort)
circos.par(gap.after=c(50))
circos.heatmap(madt2,col=mycol,dend.side="inside",rownames.side="outside",track.height=0.38,rownames.col="black",rownames.cex=0.9,rownames.font=1,cluster=TRUE,dend.track.height=0.18,dend.callback=function(dend,m,si){color_branches(dend,k=15,col=1:15)})
注:track.height:轨道的高度,数值越大圆环越粗 dend.track.height:调整行聚类树的高度 dend.callback:用于聚类树的回调,当需要对聚类树进行重新排序,或者添加颜色时使用
包含的三个参乱肢数:dend:当前扇区的树状图;m:当前扇区对应的子矩阵;si:当前扇区的名称 color_branches():修改聚类树颜色
circos.clear()
//添加图例标签等
lg=Legend(title="Exp",col_fun=mycol,direction= c("vertical"))
grid.draw(lg)
//添加列名
circos.track(track.index=get.current.track.index(),panel.fun=function(x,y)
{
if(CELL_META$sector.numeric.index==1)
{
cn=colnames(madt2)
n=length(cn)
circos.text(rep(CELL_META$cell.xlim[2],n)+convert_x(0.3,"mm"), //x坐标
4.1+(1:n)*0.7, //y坐标和间距
cn,cex=0.8,adj=c(0,1),facing="inside")
}
},bg.border=NA)
mycol2=colorRamp2(c(-1.7, 0.5, 2.3),c("#57ab81", "white", "#ff9600"))
也可以更改上面的颜色,从而改变热图的配色:
===分组热图绘制========
#circos.heatmap()内只能是一个矩阵,但如果矩阵数据存在分组,可以用split参数来指定分类变量
split = sample(letters[1:2], 40, replace = TRUE)
split = factor(split, levels = letters[1:2])
circos.clear()
circos.par(gap.after=c(22))
circos.heatmap(madt2,col=mycol,split=split,dend.side="inside",rownames.side="outside",track.height = 0.38,
rownames.col="black",rownames.cex=0.9,
rownames.font=1,
cluster=TRUE,
dend.track.height=0.18,
dend.callback=function(dend,m,si)
{
color_branches(dend,k=15,col=1:15)
}
)
//假设有两个热图的矩阵数据
madt2<-t(scale(t(madt)))
madt3<-t(scale(t(madt)))
split2 = sample(letters[1:2], 40, replace = TRUE)
split2 = factor(split2, levels = letters[1:2])
circos.clear()
circos.par(gap.after=c(8))
circos.heatmap(madt2,col=mycol2,split=split2,dend.side="outside",
cluster=TRUE,
dend.track.height=0.2,
dend.callback=function(dend,m,si) {
color_branches(dend,k=15,col=1:15)
}
)
circos.heatmap(madt3, col = mycol,rownames.side="inside",rownames.cex=0.8)
R语言绘图包02热图pheatmap
R语言绘图包系列:
热图输入的数据是数值型矩阵/数据框,颜色的变化展示数值的大小。
1.保存对象
2. 打开图形设备重新画
pheatmap包使用的是grid图形系统而非ggplot2,所以解决方法也是不同的。通过自定义函数来生成,也可一次绘制多个对神蚂象的图裂瞎滑形肆腊。
R绘图pheatmap热图绘制——高阶篇
绘图场景 :在高通量检测数据中,我们在数据展示上往往都喜欢将感兴趣的功能或者通路基因绘制成热图形式,能够让读者一目了然的发现某功能是增强了?还是减弱了?在实际过程中,表型实验上已经证明了炎症反应的走向,从初期增强到后期减弱。但在对应的高通量数据中却不是如我们所想,趋势很凌乱,很难说炎症这个过程的增强减弱。因此在拿到数据后,需要有选择性的筛选和展示。今天就以项目为例,记录整个绘制过程。
1. 对促炎数据做聚类分析并提取所需信息
首先清除环境,安装并加载所需要的R包
读入促炎数据并对数据做简单处理
绘图查看基因聚类情况
从上图发现,基因按照表达模式可分为3大类,其中1和2类是想要的数据。
那如何提取这部分数据呢?
首先将表达数据与聚类分类信息合并
按照聚类顺序将聚类1和2的数据提取出来
2. 对抑炎数据做聚类分析并提取所需信息
读入抑炎数据并对数据做简单处理
绘图查看基因聚类情况
从上图发现,基因按照表达模式可分为2大类,其中1类是想要的数据。
那如何提取这部分数据呢?
首先将表达数据与聚类分类信息合并
按照聚类顺序将聚类1和2的数据提取出来
3. 限定pos组数据的颜色,统一颜色标尺
首席清除环境,加载R包并读入上游筛选出的促炎数据
限定颜范围
绘图(促炎帆悔指热图)
4. 限定neg组数据的颜色,统一颜色标尺
首席清除环境,加载R包并读入上游筛前链选出的促炎数据
限定颜范围
绘图(抑炎热图)
5. 合并两张图片
最后可以用态配AI组合两个结果,也许R包也可以,还没有学。。。成图如下:整体体现出促炎反应随着时间减弱,抑炎随着时间增强,两个功能呈现此消彼长的趋势,符合实验表型。
往期回顾
R绘图ggplot2散点图的绘制
R绘图pheatmap热图绘制——基础篇
R绘图pheatmap热图绘制——中阶篇
今天的内容就到这里~~ ,更多内容可关注公共号“YJY技能修炼” ~~
本文地址:https://gpu.xuandashi.com/81669.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!