tests/testthat/test-warm.R

library("testthat")
library("arules")

context("weighted association mining")

data("Income")

## find and some frequent itemsets
its <- eclat(Income, control=list(verbose=FALSE))[1:5]

expect_equal(support(its, Income), 
  quality(its)$support)
expect_equal(support(its, Income, type = "absolute"), 
  quality(its)$support * length(Income))

expect_equal(support(its, Income, control=list("tidlists")), 
  quality(its)$support)
expect_equal(support(its, Income, type = "absolute", control=list("tidlists")), 
  quality(its)$support * length(Income))

## weights are missing
expect_error(support(its, Income, weighted = TRUE))

## add weights
transactionInfo(Income)$weight <- 1
expect_equal(support(its, Income, weighted = TRUE),
  quality(its)$support)

## check SunBai data
data(SunBai)

## compare weclat with eclat
data(Adult)
is1 <- eclat(Adult, control=list(verbose = FALSE))
is2 <- weclat(Adult, control=list(verbose = FALSE))
k <- match(is1, is2)
expect_equal(quality(is1)$support, quality(is2)$support[k])  

## degenerate transactions
t <- new("transactions")
s <- weclat(t, control=list(verbose = FALSE))
#s
expect_equal(length(s), 0L)
mhahsler/arules documentation built on March 19, 2024, 5:45 p.m.