Nothing
grid <- round(seq(0, 10, length.out = 11), 3)
lin <- -3:3 * tfd(0.1 * grid, grid)
parallel <- -3:3 + tfd(0 * grid, grid)
names(lin) <- names(parallel) <- 1:7
spike_regular <- c(parallel, tfd(100 * (grid == 10), grid))
spike_irregular <- c(
-3:3 + tfd(c(0 * grid, 0), c(grid, 20)),
tfd(100 * (c(grid, 20) == 20), c(grid, 20))
)
na <- 1 * NA + lin[1]
lin_irreg <- {
m <- as.matrix(lin)
m[cbind(2:7, 2:7)] <- NA
tfd(m, evaluator = tf_approx_linear)
}
lin_b <- tfb(lin, verbose = FALSE)
test_that("MBD works", {
ranks <- c(1.5, 3.5, 5.5, 7, 5.5, 3.5, 1.5)
names(ranks) <- names(lin)
expect_equal(rank(tf_depth(lin, depth = "MBD")), ranks)
expect_equal(rank(tf_depth(parallel, depth = "MBD")), ranks)
expect_equal(rank(tf_depth(lin_irreg, depth = "MBD")), ranks)
expect_equal(rank(tf_depth(lin_b, depth = "MBD")), ranks)
# weighting by interval length:
# increases importance of last point -> lower tf_depth
expect_gt(
tail(tf_depth(spike_regular), 1), tail(tf_depth(spike_irregular), 1)
)
})
test_that("median works", {
expect_true(is.na(median(c(na, lin))))
expect_true(median(c(na, lin), na.rm = TRUE) == median(lin))
expect_warning(median(lin[1:2]), "2 observations")
})
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.