2

如果你们中的任何人告诉我如何给风扇簇上的主要分支上色,我将非常感激。

请使用以下示例:

library(ape)
library(cluster) 
data(mtcars)
plot(as.phylo(hclust(dist(mtcars))),type="fan")
4

2 回答 2

7

如果您想对主分支着色以指示样本属于哪个类,那么您可能会发现 R 包 sparcl 中的函数ColorDendrogram很有用(可以从这里下载)。这是一些示例代码:

library(sparcl)

# Create a fake two sample dataset
set.seed(1)
x <- matrix(rnorm(100*20),ncol=20)
y <- c(rep(1,50),rep(2,50))
x[y==1,] <- x[y==1,]+2

# Perform hierarchical clustering
hc <- hclust(dist(x),method="complete")

# Plot
ColorDendrogram(hc,y=y,main="My Simulated Data",branchlength=3)

这将生成一个树状图,其中叶子根据它们来自的两个样本中的哪一个进行着色。

于 2012-09-09T01:31:36.697 回答
7

您需要更具体地说明“为主要分支着色”的含义,但这可能会给您一些想法:

 phyl <-as.phylo(hclust(dist(mtcars))) 
 plot(phyl,type="fan", edge.col=c("black", "green")[1+(phyl$edge.length >40) ])

奇数边缘是扇形图中的径向臂,所以这个稍微丑陋(或者可能非常聪明?)的黑客只对长度大于 40 的臂着色:

phyl <-as.phylo(hclust(dist(mtcars)))
plot(phyl,type="fan", edge.col=c("black", "black", "green")[
                                        c(TRUE, FALSE) + 1 + (phyl$edge.length >40) ])
于 2012-09-08T23:25:37.037 回答