【问题标题】:hclust and ggplot rhclust 和 ggplot r
【发布时间】:2017-07-30 13:38:15
【问题描述】:

我有一个文件,其值如下所示

gene_name s1    s2  s3  s4  s5
gene1  0.5004357 -0.9613324  1.4624021 -0.8051191 -0.1963863
gene2  1.1662839 -0.3210387 -0.3653730 -1.3095341  0.8296619
gene3  1.0511340 -0.7007560 -0.3025992  1.0511340 -1.0989128
gene4 -0.2422484 -0.4203723  0.4651577 -1.2295635  1.4270265
gene5 -1.3491928 -0.6743735  0.1860456  0.9507387  0.8867820
gene6 -0.9254673  0.1860328 -1.0089603  0.3438866  1.4045082
dim(df)
[1] 21752     5

我想要实现的是使用 hclust 和 dist 方法来查看数据的趋势,我试图基本上做一些问题here from SO 中显示的事情 p.s 由 sandipan dey 回答

我无法理解,因为问题中没有显示数据,我想绘制的是

  1. x: xaxis 我的样本名称 (s1,s2,s3,s4,s5)

  2. y 轴的 zscore 和

  3. 每一行代表每个基因名

  4. 每个集群的 facet_wrap,我可以在其中看到哪个集群可以提供清晰的样本聚类或分离

编辑

基于答案

我的代码版本

d_final <- cbind.data.frame(expr, cluster=cutree(hc, k = n))
d_final %>% 
  gather(key, value, -geneID, -cluster) %>% 
  ggplot(aes(x=key, y=value, color=factor(cluster), group=geneID)) + 
  geom_point() + geom_path() +
  facet_wrap(~cluster) #changed it to wrap

当我尝试这个时

d <- dist(expr[,-1] , method = "euclidean")
hc <- hclust(dist(d), method = "average")

在具有 16gb ram R studio 的 Mac 上冻结

【问题讨论】:

  • 你看过dendextend R包吗?
  • 不,先生,不知道那个包,有人用它来生成这样的图吗?

标签: r ggplot2 hclust


【解决方案1】:

这样的?

library(tidyverse)
hc <- hclust(dist(d[,-1]))
plot(hc)
# try three clusters for instance: 
n <- 3
d_final <- cbind.data.frame(d, cluster=cutree(hc, k = n))
d_final %>% 
  gather(key, value, -gene_name, -cluster) %>% 
  ggplot(aes(x=key, y=value, color=factor(cluster), group=gene_name)) + 
     geom_point() + geom_path() +
     coord_flip() +
     facet_grid(~gene_name)

 # or change to
    facet_grid(~cluster)

【讨论】:

  • 谢谢,让我试试我的实际数据会在几分钟内发布输出。
  • 完美运行!我已经更新了 cmets,最后一个问题是我可以得到哪些gene_symbols 属于哪个集群?例如,如果我需要知道集群 25 中涉及哪些基因符号,这可能吗?
  • 尝试将颜色更改为color=geneID。但我想那时情节真的很吵。也许一张表格能更好地说明这些信息?试试aggregate(d_final$gene_name, list(d_final$cluster), paste, collapse=",")
  • 我应该把它集成到哪一行?
  • 而不是color=factor(cluster)
猜你喜欢
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 2014-10-29
  • 2018-04-16
  • 2016-06-03
  • 2019-02-26
  • 2016-04-29
  • 1970-01-01
相关资源
最近更新 更多