Windows 10
R-404
R Studio: Version 121335
输入下列指令,从CSV文件导入数据,出去表头,为(6+6+6)85矩阵数据,赋给test1变量
test1 <-readcsv("C:/Users/Administrator/Desktop/YsJ/sz/zzwkP1csv",header=TRUE)
输入 test1 显示下列
输入如下指令,归一化矩阵数据,并赋值回来
test1 <- scale(test1)
结果如下图
输入如下指令
pheatmap(test1)
Step1 绘图数据的准备
首先还是要把你想要绘图的数据调整成R语言可以识别的格式, 在excel中保存成csv。
数据的格式如下图:
Step2 绘图数据的读取
data <- readcsv(“your file path”, header = T)
登录后复制
Step3绘图所需package的调用
library(pheatmap) ## 调用之前先安装installpackages("pheatmap")
登录后复制
Step4绘图
df <- data[,-c(11,12)]
bk <- c(seq(-3, 2,by = 001))
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 = dataframe(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包默认的色块颜色,只要将以下的语句删掉就可以。
最近一直在学习转录组分析,在绘制差异表达基因热图的时候遇到了个坑?我发现的做出来的热图和别人不一样。如下图所示,图1是我的,图2是别人家的。
怎么解决呢?直接取对数吗?
如果对表达量去一下log10,发现10000变成了4,10变成了1,这样之前离散程度很大的数据就被集中了。
聚类分析中均一化是如何计算的?
表达矩阵每行数据的各个数值减去每行数据的均值,再除以每行数据的标准差。
详细的数据规范化(归一化)、及Z-score标准化可参考教程 >
以上就是关于R语言 热图-组学分组数据+归一化全部的内容,包括:R语言 热图-组学分组数据+归一化、r语言画相关性热图能自动识别数据分布类型吗、R 聚类热图-数据的标准化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)