stats (version 3.4.1)

cutree: Cut a Tree into Groups of Data


Cuts a tree, e.g., as resulting from hclust, into several groups either by specifying the desired number(s) of groups or the cut height(s).


cutree(tree, k = NULL, h = NULL)



a tree as produced by hclust. cutree() only expects a list with components merge, height, and labels, of appropriate content each.


an integer scalar or vector with the desired number of groups


numeric scalar or vector with heights where the tree should be cut.


cutree returns a vector with group memberships if k or h are scalar, otherwise a matrix with group memberships is returned where each column corresponds to the elements of k or h, respectively (which are also used as column names).


Cutting trees at a given height is only possible for ultrametric trees (with monotone clustering heights).


Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

hclust, dendrogram for cutting trees themselves.


Run this code
hc <- hclust(dist(USArrests))

cutree(hc, k = 1:5) #k = 1 is trivial
cutree(hc, h = 250)

## Compare the 2 and 4 grouping:
g24 <- cutree(hc, k = c(2,4))
table(grp2 = g24[,"2"], grp4 = g24[,"4"])

Run the code above in your browser using DataCamp Workspace