用R和聚类法绘制热图

用R和聚类法绘制热图,r,ggplot2,heatmap,pheatmap,R,Ggplot2,Heatmap,Pheatmap,大家好,我正在尝试绘制热图想要聚类图和绘图不好看想要更改颜色我是新手,有人能告诉我如何绘制热图和聚类值,这些值显示相似的模式聚类在一起吗 我的数据 我所做的只是尝试记录数据并绘制图表 library(ggplot2) library(reshape2) mydata=read.table("Test_data", sep="\t", header=TRUE) melted_cormat <- melt(mydata) head(melted_cor

大家好,我正在尝试绘制热图想要聚类图和绘图不好看想要更改颜色我是新手,有人能告诉我如何绘制热图和聚类值,这些值显示相似的模式聚类在一起吗 我的数据

我所做的只是尝试记录数据并绘制图表

library(ggplot2)
library(reshape2)

mydata=read.table("Test_data", sep="\t", header=TRUE)
melted_cormat <- melt(mydata)
head(melted_cormat)
melted_cormat$new=log2(1+melted_cormat$value)
ggplot(data = melted_cormat, aes(x=variable, y=ID, fill=new)) + 
  geom_tile()

库(ggplot2)
图书馆(E2)
mydata=read.table(“测试数据”,sep=“\t”,header=TRUE)

你可以根据这些数据制作热图,但我认为这不是一个很好的可视化这么多数据的方法。
mydata
中有287行,这意味着您的绘图中将有287行。这将使单个行难以识别,并且不可能对y轴进行标记

另一个问题是,大约99%的价值低于1000,但最高价值接近6000。这意味着填充比例将极不均匀。在较低的范围内很难看到太多细节

如果您想查看聚类,可以使用
pheatmap
而不是
ggplot2
,我可能会在填充比例上进行对数变换,以更好地显示细节。但是,单一绘图上数据过多的问题仍然存在


mymatrix要说我卑微的两便士价值——不确定是否有“太多数据”这一点——事实上,我们(我们的眼睛:)非常擅长在最小空间上辨别微小的数据斑点。如果您已经阅读了Tufte的,这将被称为高数据密度。(还有一个个人留言——如果你还没有读过这本书,那是一本很棒的(!!)阅读。@Allan Cameron谢谢你的回答,信息很清楚,如果值有类似的行为,比如一个盒子,我想用什么聚类方法来分离它们,如果值为零,我想用合适的颜色来表示零values@ShrilaxmiMS是的,这就是这个图的作用。深蓝色的方块是零值。@Tjebo我得到了data是可以识别的。我只是觉得这个图不是很有信息性,特别是如果你有兴趣在y轴上挑出任何一个人的话。谢谢你的书提示-我还没有读过,但我会去看看。好的,但是我只是编辑了我的问题图,看起来像方框,如果值为零,就用其他颜色,我想把行聚类s
pheatmap(as.matrix(mydata[1:30,-1]))