Nothing
# These tests are modeled on the tests in the RcppRoll test/ directory
# https://github.com/kevinushey/RcppRoll
test_that("MazamaRollUtils matches zoo::rollapply for width = 1, center aligned", {
skip_if_not_installed("zoo")
set.seed(1)
x <- rnorm(50)
expect_equal(
roll_max(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = max, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = mean, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = median, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = min, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = prod, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = sd, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = sum, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 1, by = 1, align = "center"),
zoo::rollapply(x, 1, FUN = var, by = 1, fill = NA, align = "center")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for width = 5, center aligned", {
skip_if_not_installed("zoo")
set.seed(2)
x <- rnorm(50)
expect_equal(
roll_max(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = max, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = mean, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = median, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = min, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = prod, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = sd, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = sum, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = var, by = 1, fill = NA, align = "center")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for width = 49, center aligned", {
skip_if_not_installed("zoo")
set.seed(3)
x <- rnorm(50)
expect_equal(
roll_max(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = max, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = mean, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = median, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = min, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = prod, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = sd, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = sum, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 49, by = 1, align = "center"),
zoo::rollapply(x, 49, FUN = var, by = 1, fill = NA, align = "center")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for very small numbers", {
skip_if_not_installed("zoo")
set.seed(4)
x <- rnorm(1000)^100
expect_equal(
roll_max(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = max, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = mean, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = median, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = min, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = prod, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = sd, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = sum, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = var, by = 1, fill = NA, align = "center")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for very large numbers", {
skip_if_not_installed("zoo")
set.seed(5)
x <- rnorm(1000, mean = 1e200, sd = 1e201)
expect_equal(
roll_max(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = max, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = mean, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = median, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = min, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = prod, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = sd, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = sum, by = 1, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 5, by = 1, align = "center"),
zoo::rollapply(x, 5, FUN = var, by = 1, fill = NA, align = "center")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for left alignment and by = 1", {
skip_if_not_installed("zoo")
set.seed(6)
x <- rnorm(100, mean = 100, sd = 50)
expect_equal(
roll_max(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = max, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_mean(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = mean, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_median(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = median, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_min(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = min, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_prod(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = prod, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_sd(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = sd, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_sum(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = sum, by = 1, fill = NA, align = "left")
)
expect_equal(
roll_var(x, 9, by = 1, align = "left"),
zoo::rollapply(x, 9, FUN = var, by = 1, fill = NA, align = "left")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for center alignment and by = 2", {
skip_if_not_installed("zoo")
set.seed(7)
x <- rnorm(100, mean = 100, sd = 50)
expect_equal(
roll_max(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = max, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = mean, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = median, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = min, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = prod, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = sd, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = sum, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = var, by = 2, fill = NA, align = "center")
)
})
test_that("MazamaRollUtils matches zoo::rollapply for right alignment and by = 5", {
skip_if_not_installed("zoo")
set.seed(8)
x <- rnorm(100, mean = 100, sd = 50)
expect_equal(
roll_max(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = max, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_mean(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = mean, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_median(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = median, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_min(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = min, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_prod(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = prod, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_sd(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = sd, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_sum(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = sum, by = 5, fill = NA, align = "right")
)
expect_equal(
roll_var(x, 9, by = 5, align = "right"),
zoo::rollapply(x, 9, FUN = var, by = 5, fill = NA, align = "right")
)
})
test_that("MazamaRollUtils matches zoo::rollapply when input contains NA values", {
skip_if_not_installed("zoo")
set.seed(9)
x <- rnorm(100, mean = 100, sd = 50)
x[sample(length(x), length(x) / 3)] <- NA_real_
expect_equal(
roll_max(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = max, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_mean(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = mean, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_median(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = median, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_min(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = min, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_prod(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = prod, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_sd(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = sd, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_sum(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = sum, by = 2, fill = NA, align = "center")
)
expect_equal(
roll_var(x, 9, by = 2, align = "center"),
zoo::rollapply(x, 9, FUN = var, by = 2, fill = NA, align = "center")
)
})
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.