Nothing
context("basic test")
td <- td_create(10)
expect_is(td, "tdigest")
expect_true(is_tdigest(td))
expect_equal(td_total_count(td), 0)
expect_true(is.nan(td_value_at(td, 0)))
expect_true(is.nan(td_value_at(td, 0.5)))
expect_true(is.nan(td_value_at(td, 1)))
expect_true(is.nan(td_value_at(td, -0.1)))
expect_true(is.nan(td_value_at(td, 1.1)))
td_add(td, 0, 1)
td_add(td, 10, 1)
expect_equal(td_total_count(td), 2)
expect_equal(td_value_at(td, 0.1), 0)
expect_equal(td_value_at(td, 0.5), 5)
td <- td_create(1000)
td_add(td, 1, 1)
td_add(td, 10, 1)
expect_equal(td_quantile_of(td, 0.99), 0)
expect_equal(td_quantile_of(td, 1), 0.25)
expect_equal(td_quantile_of(td, 5.5), 0.5)
context("bigger, vectorised test")
set.seed(1492)
x <- sample(0:100, 1000000, replace = TRUE)
td <- tdigest(x, 1000)
expect_true(is_tdigest(td))
expect_false(is_tdigest(x))
expect_equal(td_total_count(td), 1000000)
expect_equal(
ceiling(
tquantile(td, c(0, .01, .1, .2, .3, .4, .5, .6, .7, .8, .9, .99, 1))
),
c(0, 1, 10, 20, 30, 40, 51, 61, 71, 81, 91, 100, 100),
tolerance = 3
)
expect_equal(
ceiling(quantile(td)),
c(0, 25, 51, 76, 100),
tolerance = 3
)
context("ALTREP test")
N <- 1000000
x.altrep <- seq_len(N) # this is an ALTREP in R version >= 3.5.0
td <- tdigest(x.altrep)
expect_equal(as.integer(td[0.1]), 93051)
expect_equal(as.integer(td[0.5]), 491472)
expect_equal(length(td), 1000000)
context("Serialization test")
set.seed(1492)
x <- sample(0:100, 1000000, replace = TRUE)
td <- tdigest(x, 1000)
a <- as.list(td)
b <- as.list(as_tdigest(a))
expect_true(identical(a, b))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.