在R中绘制聚类后的数据热图

在R中绘制聚类后的数据热图,r,heatmap,hierarchical-clustering,R,Heatmap,Hierarchical Clustering,我试图在聚类后创建矩阵的热图 heatmap(r.matrix, distfun = dist(r.matrix, method="euclidean"), hclustfun = hclust(dist(r.matrix, method="euclidean"), method ="ward")) 我在热图的帮助消息后使用了上述命令,但返回时显示以下错误消息: Error in heatmap(r.matrix, distfun = dist(r.matr

我试图在聚类后创建矩阵的热图

heatmap(r.matrix, 
        distfun = dist(r.matrix, method="euclidean"), 
        hclustfun = hclust(dist(r.matrix, method="euclidean"), method ="ward"))
我在热图的帮助消息后使用了上述命令,但返回时显示以下错误消息:

Error in heatmap(r.matrix, distfun = dist(r.matrix, method = "euclidean"),  :
                 could not find function "hclustfun"

如何进行聚类,并绘制聚类数据的热图,同时保留树状图?我可能没有很好地理解参数列表中的函数。

参数
distfun
hclustfun
应该是函数。您正在传递这些函数的结果,由于结果本身不是函数,因此会抛出错误。例如,您知道如何应用函数作为其第三个参数吗?然后它调用这个函数本身<代码>热图也是这样

试试这个:

heatmap(r.matrix, distfun=dist, hclustfun=function(d) hclust(d, method="ward"))
实际上,由于
dist
是默认参数(请参见
?heatmap
),因此可以从函数调用中省略
distfun
。必须为
hclust
创建匿名函数的唯一原因是默认方法不是“ward”

heatmap(r.matrix, hclustfun=function(d) hclust(d, method="ward"))