greedySetCover {RcppGreedySetCover} | R Documentation |
Greedy Set Cover
Description
Fast greedy set cover algorithm.
Usage
greedySetCover(X, data.table = TRUE)
Arguments
X |
Two-column data.frame in long format: Column 1 identifies the sets, column 2 the elements. |
data.table |
If |
Value
If data.table == TRUE
a data.table
, keyed by sets and elements.
Else a data.frame
, sorted by sets and elements.
Column names are derived from input.
Examples
# Create some data.
set.seed(333)
X <- data.table::rbindlist(
lapply(
seq_len(1e4L),
function(x) list(element=sample.int(n=1e3L,size=sample.int(50L,1L)))
),
idcol="set"
)
# Elements are integers 1,2,...,1000.
# Run set cover
res <- greedySetCover(X,FALSE)
head(res)
# Check if all elements are covered.
identical(sort(unique(res$element)),sort(unique(X$element)))
[Package RcppGreedySetCover version 0.1.0 Index]