我有一个文件,其值如下所示
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 方法来查看数据中的趋势,我正在尝试基本上做一些在问题中显示的内容来自sandipan dey的SO ps answer
我无法理解,因为问题中没有显示数据,我想绘制的是
x: xaxis 我的样本名称 (s1,s2,s3,s4,s5)
y 轴 zscore 和
每行代表每个基因名
每个集群的 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 上死机
像这样的东西?
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句