Nothing
context("Testing tk_index")
library(dplyr)
FB_tbl <- FANG %>% dplyr::filter(symbol == "FB")
FB_xts <- FB_tbl %>% tk_xts(silent = TRUE)
FB_zoo <- FB_tbl %>% tk_zoo(silent = TRUE)
FB_zooreg <- FB_tbl %>% tk_zooreg(start = 2015, freq = 252, silent = TRUE)
FB_ts <- FB_tbl %>% tk_ts(start = 2015, freq = 252, silent = TRUE)
# FUNCTION tk_index -----
# time series objects ----
test_that("tk_index(default) test returns correct format.", {
# Not designed to work with objects of class numeric
expect_warning(tk_index(4))
expect_warning(res <- has_timetk_idx(4))
expect_false(res)
})
test_that("tk_index(ts) test returns correct format.", {
# Test if object has timetk index
expect_true(tk_ts(FB_tbl, frequency = 252, start = 2015, silent = TRUE) %>%
has_timetk_idx())
# Return regularized dates
test_index_1 <- tk_ts(FB_tbl, frequency = 252, start = 2015, silent = TRUE) %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_1), "numeric")
expect_length(test_index_1, 1008)
# Return non-regularized dates (aka timetk index)
expect_tz_warning(test_index_2 <- tk_ts(FB_tbl, frequency = 252, start = 2015, silent = TRUE) %>%
tk_index(timetk_idx = TRUE))
expect_s3_class(test_index_2, "Date")
expect_length(test_index_2, 1008)
# No timetk index
expect_warning(
WWWusage %>%
tk_index(timetk_idx = TRUE)
)
})
test_that("tk_index(zooreg) test returns correct format.", {
# Test if object has timetk index
expect_true(tk_zooreg(FB_tbl, frequency = 252, start = 2015, silent = TRUE) %>%
has_timetk_idx())
# Return regularized dates
test_index_3 <- tk_zooreg(FB_tbl, frequency = 252, start = 2015, silent = TRUE) %>%
tk_index(timetk_idx = FALSE)
expect_type(test_index_3, "double")
expect_length(test_index_3, 1008)
# Return non-regularized dates (aka timetk index)
test_index_4 <- tk_zooreg(FB_tbl, frequency = 252, start = 2015, silent = TRUE) %>%
tk_index(timetk_idx = TRUE)
expect_s3_class(test_index_4, "Date")
expect_length(test_index_4, 1008)
})
test_that("tk_index(tbl) test returns correct format.", {
# Test if object has timetk index
expect_false(FB_tbl %>% has_timetk_idx())
# Return vector of dates
test_index_3 <- FB_tbl %>% tk_index(timetk_idx = FALSE)
expect_s3_class(test_index_3, "Date")
expect_length(test_index_3, 1008)
# No date or date time
expect_error(tk_index(mtcars))
})
test_that("tk_index(xts) test returns correct format.", {
# Test if object has timetk index
expect_false(FB_xts %>% has_timetk_idx())
# Return vector of dates
expect_tz_warning(test_index_5 <- FB_xts %>% tk_index(timetk_idx = FALSE))
expect_s3_class(test_index_5, "Date")
expect_length(test_index_5, 1008)
})
test_that("tk_index(zoo) test returns correct format.", {
# Test if object has timetk index
expect_false(FB_zoo %>% has_timetk_idx())
# Return vector of dates
expect_tz_warning(test_index_6 <- tk_index(FB_zoo, timetk_idx = FALSE))
expect_s3_class(test_index_6, "Date")
expect_length(test_index_6, 1008)
})
# models and forecasts ----
fit_ets <- USAccDeaths %>%
forecast::ets()
test_that("tk_index(ets) test returns correct format.", {
# Test if object has timetk index
expect_false(has_timetk_idx(fit_ets))
# Return vector of numeric regularized dates
test_index_7 <- fit_ets %>%
tk_index(timetk_idx = FALSE)
expect_type(test_index_7, "double")
})
test_that("tk_index(forecast) test returns correct format.", {
fcast_ets <- fit_ets %>%
forecast::forecast()
# Test if object has timetk index
expect_false(has_timetk_idx(fcast_ets))
# Return vector of numeric regularized dates
test_index_8 <- fcast_ets %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_8), "numeric")
expect_length(test_index_8, 72)
})
test_that("tk_index(bats) test returns correct format.", {
fit_bats <- USAccDeaths %>%
forecast::bats()
# Test if object has timetk index
expect_false(has_timetk_idx(fit_bats))
# Return vector of numeric regularized dates
test_index_9 <- fit_bats %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_9), "numeric")
expect_equal(length(test_index_9), 72)
})
test_that("tk_index(arima) test returns correct format.", {
fit_arima <- USAccDeaths %>%
forecast::Arima()
# Test if object has timetk index
expect_false(has_timetk_idx(fit_arima))
# Return vector of numeric regularized dates
test_index_10 <- fit_arima %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_10), "numeric")
expect_equal(length(test_index_10), 72)
})
test_that("tk_index(HoltWinters) test returns correct format.", {
fit_hw <- USAccDeaths %>%
stats::HoltWinters()
# Test if object has timetk index
expect_false(has_timetk_idx(fit_hw))
# Return vector of numeric regularized dates
test_index_11 <- fit_hw %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_11), "numeric")
expect_equal(length(test_index_11), 72)
})
test_that("tk_index(stl) test returns correct format.", {
fit_stl <- USAccDeaths %>%
stats::stl(s.window = "periodic")
# Test if object has timetk index
expect_false(has_timetk_idx(fit_stl))
# Return vector of numeric regularized dates
test_index_12 <- fit_stl %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_12), "numeric")
expect_equal(length(test_index_12), 72)
})
test_that("tk_index(stlm) test returns correct format.", {
fit_stlm <- USAccDeaths %>%
forecast::stlm(s.window = "periodic")
# Test if object has timetk index
expect_false(has_timetk_idx(fit_stlm))
# Return vector of numeric regularized dates
test_index_13 <- fit_stlm %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_13), "numeric")
expect_equal(length(test_index_13), 72)
})
test_that("tk_index(StructTS) test returns correct format.", {
fit_StructTS <- USAccDeaths %>%
StructTS()
# Test if object has timetk index
expect_false(has_timetk_idx(fit_StructTS))
# Return vector of numeric regularized dates
test_index_15 <- fit_StructTS %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_15), "numeric")
expect_equal(length(test_index_15), 72)
})
test_that("tk_index(baggedETS) test returns correct format.", {
fit_baggedETS <- WWWusage %>%
forecast::baggedETS()
# Test if object has timetk index
expect_false(has_timetk_idx(fit_baggedETS))
# Return vector of numeric regularized dates
test_index_16 <- fit_baggedETS %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_16), "numeric")
expect_equal(length(test_index_16), 100)
})
test_that("tk_index(nnetar) test returns correct format.", {
fit_nnetar <- USAccDeaths %>%
forecast::nnetar()
# Test if object has timetk index
expect_false(has_timetk_idx(fit_nnetar))
# Return vector of numeric regularized dates
test_index_17 <- fit_nnetar %>%
tk_index(timetk_idx = FALSE)
expect_equal(class(test_index_17), "numeric")
expect_equal(length(test_index_17), 72)
})
test_that("tk_index(fracdiff) test returns correct format.", {
skip_if_not_installed("fracdiff")
# ARFIMA model (class = "fracdiff")
x <- fracdiff::fracdiff.sim( 100, ma=-.4, d=.3)$series
fit_arfima <- forecast::arfima(x)
# Test if object has timetk index
expect_warning(
expect_false(
has_timetk_idx(fit_arfima)
)
)
# Not designed to work with class numeric
expect_warning(
fit_arfima %>%
tk_index(timetk_idx = FALSE)
)
})
test_that("tk_index(decomposed.ts) test returns correct format.", {
data_ts <- USAccDeaths %>%
tk_tbl() %>%
dplyr::mutate(index = lubridate::as_date(index)) %>%
tk_ts(start = 1973, frequency = 12, silent = TRUE)
fit <- stats::decompose(data_ts)
expect_true(has_timetk_idx(fit))
expect_type(tk_index(fit), "double")
expect_tz_warning(res <- tk_index(fit, timetk_idx = TRUE))
expect_s3_class(res, "Date")
})
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.