Learn R Programming

dendextendRcpp (version 0.5.0)

dendextendRcpp_cut_lower_fun: Cut a dendrogram using Rcpp - and run a function on the output

Description

Cuts the a tree at height h and returns a list with the FUN function implemented on all the sub trees created by cut at height h. This is used for creating a cutree.dendrogram function, by using the labels function as FUN. This is the Rcpp version of the function, offering a 10-60 times improvement in speed (depending on the tree size it is used on).

Usage

dendextendRcpp_cut_lower_fun(tree, h, FUN = labels, warn = FALSE, ...)

Arguments

Value

A list with the output of running FUN on each of the sub trees derived from cutting "tree"

See Also

labels, dendrogram, cutree (in dendextend), cutree (in stats)

Examples

Run this code
dend = as.dendrogram(hclust(dist(iris[1:4,-5])))
dendextendRcpp::Rcpp_cut_lower(dend, .4)
dendextendRcpp::Rcpp_cut_lower(dend, .4, FALSE)
# this is really cool!
dendextendRcpp_cut_lower_fun(dend, .4, labels)
lapply(cut(dend, h = .4)$lower, labels)
dendextendRcpp_cut_lower_fun(dend, .4, order.dendrogram)

# require(dendextend)
   require(dendextendRcpp)
   dend_big = as.dendrogram(hclust(dist(iris[1:150,-5])))
   require(microbenchmark)
   microbenchmark(old_cut_lower_fun(dend_big,.1),
                  dendextendRcpp::dendextendRcpp_cut_lower_fun(dend_big,.1),
                     times = 100)
   # about 7-15 times faster. It is faster the larger the tree is, and the lower h is.

Run the code above in your browser using DataLab