全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4638 1
2014-09-11
距离计算方法和聚类方法都是一样的(都是用的欧几里得距离和Ward法),为什么heatmap.2和pheatmap得到的聚类结果不一样?

heatmap.2:
cluster.data <- read.csv("data.csv")
row.names <- cluster.data$factor
x <- cluster.data[, 2:5]
z <- as.matrix(x)
heatmap.2(z,
          col = greenred,
          dendrogram = 'row',
          scale = 'row',
          Colv = F,
          labRow = row.names,
          trace = 'none',
          density.info = 'none')


pheatmap:
cluster.data <- read.csv("data.csv")
x <- cluster.data[, 2:5]
z <- as.matrix(x)
rownames(z) <- cluster.data$factor
pheatmap(z,
         color = greenred(75),
         border_color = NA,
         cluster_cols = F,
         cellwidth = 15,
         scale = "row",
         clustering_distance_rows = "euclidean",
         clustering_method = "ward",
         treeheight_row = 10,
         show_colnames = F,
         fontsize_row = 10,
         width = 2, height = 5)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-6 15:23:41

使用Heatmap.2时,从你使用的参数来看,没有预先对源数据进行ward方法的聚类处理,导致在画图时和用Pheatmap画图时所用的过程数据是不一样的。

而Pheatmap在使用时参数里可以指定使用ward聚类方法,所以把源数据进行了预处理。

虽然都是从csv中提取的数据,但是Heatmap.2没对数据进行ward聚类处理,Pheatmap对数据进行了ward聚类处理。所以结果不一样。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群