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

Description Usage Arguments Value Author(s) See Also Examples

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

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

Arguments

tree

a dendrogram object.

h

a scalar of height to cut the tree by.

FUN

the function to run (default is "labels")

warn

logical (FALSE) - should the user be warned if reverting to default? (I set it to FALSE since it can be very noisy sometimes...)

...

passed to FUN.

Value

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

Author(s)

Tal Galili

See Also

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
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)

## Not run: 
   # 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.

## End(Not run)

talgalili/dendextendRcpp documentation built on May 31, 2019, 2:53 a.m.