Hi,

@David: Thanks for the explanation why this does not work. This of
course makes theoretically sense.

However in a recent discussion
(
http://stats.stackexchange.com/questions/107448/spatial-distance-between-cluster-means
)
it was stated that "the 'reversals problem' of  centroid method is
not a serious reason to deactivate the option of 'tree cut'". Instead
a warning message should be provided rather than a deactivation.

So does anyone know how a tree that was created with "centroid" can still
be cut at a specific height? I tried the package "dynamicTreeCut", but this
also relies on cutree and consequently raises an error when used for cutting
"centroid" trees.

Does anyone know a work around and can provide a minimum working example?

/Johannes


On Wed, Jul 9, 2014 at 4:58 PM, David L Carlson <dcarl...@tamu.edu> wrote:

> To cut the tree, the clustering algorithm must produce consistently
> increasing height values with no reversals. You used one of the two options
> in hclust that does not do this. Note the following from the hclust manual
> page:
>
> "Note however, that methods "median" and "centroid" are not leading to a
> monotone distance measure, or equivalently the resulting dendrograms can
> have so called inversions (which are hard to interpret)."
>
> The cutree manual page:
>
> "Cutting trees at a given height is only possible for ultrametric trees
> (with monotone clustering heights)."
>
> Use a different method (but not median).
>
> -------------------------------------
> David L Carlson
> Department of Anthropology
> Texas A&M University
> College Station, TX 77840-4352
>
> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org]
> On Behalf Of Johannes Radinger
> Sent: Wednesday, July 9, 2014 7:07 AM
> To: R help
> Subject: [R] Cutting hierarchical cluster tree at specific height fails
>
> Hi,
>
> I'd like to cut a hierachical cluster tree calculated with hclust at a
> specific height.
> However ever get following error message:
> "Error in cutree(hc, h = 60) :
>   the 'height' component of 'tree' is not sorted (increasingly)"
>
>
> Here is a working example to show that when specifing a height in  cutree()
> the code fails. In contrast, specifying the number of clusters in cutree()
> works.
> What is the exact problem and how can I solve it?
>
> x <- c(rnorm(100,50,10),rnorm(100,200,25),rnorm(100,80,15))
> y <- c(rnorm(100,50,10),rnorm(100,200,25),rnorm(100,150,25))
> df <- data.frame(x,y)
> plot(df)
>
> hc <- hclust(dist(df,method = "euclidean"), method="centroid")
> plot(hc)
>
> df$memb <- cutree(hc, h = 60) # this does not work
> df$memb <- cutree(hc, k = 3) # this works!
>
> plot(df$x,df$y,col=df$memb)
>
>
> Thank you for your hints!
>
> Best regards,
> Johannes
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to