问题描述
我必须在与聚结理论(与遗传学有关)相关的 R algorithm 中执行此算法。问题是,当我遇到突变事件时,我必须指出一个点以获得类似于此 dendrogram 的树状图,但我不知道如何在树状图中添加这些点。当只有合并事件时,我做了另一种算法,但我附上了让你知道我想用这个算法做什么的想法。 (问题只是在特定坐标处添加点)。
##Algorithm 1
n=10
# Compute distances and hierarchical clustering
dd <- dist(scale(seq(1:n)),method = "euclidean")
hc <- hclust(dd,method = "ward.D2")
hc$labels=c(1:n)
hc$order=c(1:n)
x=c(-n:-1)
i=1
T_k=0
while(length(x)>1){
lambda=choose(length(x),2)
T_k=rexp(1,rate=lambda)+T_k
hc$height[i]=T_k
c=sample(x,2,replace=F)
x=setdiff(x,c)
x=append(x,i,after=0)
hc$merge[i,1]=c[1]
hc$merge[i,2]=c[2]
i=i+1
}
hcd <- as.dendrogram(hc)
# Default plot
plot(hcd,type = "rectangle",ylab = "Height",main="Gene tree")
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)