context("Construction of cdf")
test_that("Clayton cdf is constructed correctly", {
cc1 <- claycop(par = 5, dim = 2)
expect_equal(as.character(cc1$distribution$cdf),
"(1 + (u1^(-theta) - 1 + u2^(-theta) - 1))^(-1/theta)")
})
test_that("Frank cdf is constructed correctly", {
fc1 <- frankcop(par = 5, dim = 2)
expect_equal(as.character(fc1$distribution$cdf),
"-1/theta * log(1 + exp(-(-log((exp(-theta * u1) - 1)/(exp(-theta) - 1)) + -log((exp(-theta * u2) - 1)/(exp(-theta) - 1)))) * (exp(-theta) - 1))")
})
test_that("Independence cdf is constructed correctly", {
ic1 <- indcop(dim = 2)
expect_equal(as.character(ic1$distribution$cdf),
"u1 * u2")
})
test_that("Clayton cdf adheres to necessary properties", {
cc2 <- claycop(par = 5, dim = 2)
cdf <- pcop(cc2, u = c(0.5, 0.5))
expect_equal(round(cdf, 4), 0.4366)
cc3 <- claycop(par = 5, dim = 2)
cdf <- pcop(cc3, u = c(0.5, 0))
expect_equal(cdf, 0)
cc4 <- claycop(par = 5, dim = 2)
cdf <- pcop(cc4, u = c(0, 0.5))
expect_equal(cdf, 0)
cc5 <- claycop(par = 5, dim = 2)
cdf <- pcop(cc5, u = c(0.5, 1))
expect_equal(cdf, 0.5)
cc6 <- claycop(par = 5, dim = 2)
cdf <- pcop(cc6, u = c(1, 0.5))
expect_equal(cdf, 0.5)
cc7 <- claycop(par = 5, dim = 2)
cdf <- pcop(cc7, u = c(1, 1))
expect_equal(cdf, 1)
})
test_that("Frank cdf adheres to necessary properties", {
fc2 <- frankcop(par = 5, dim = 2)
cdf <- pcop(fc2, u = c(0.5, 0.5))
expect_equal(round(cdf, 4), 0.3771)
fc3 <- frankcop(par = 5, dim = 2)
cdf <- pcop(fc3, u = c(0.5, 0))
expect_equal(cdf, 0)
fc4 <- frankcop(par = 5, dim = 2)
cdf <- pcop(fc4, u = c(0, 0.5))
expect_equal(cdf, 0)
fc5 <- frankcop(par = 5, dim = 2)
cdf <- pcop(fc5, u = c(0.5, 1))
expect_equal(cdf, 0.5)
fc6 <- frankcop(par = 5, dim = 2)
cdf <- pcop(fc6, u = c(1, 0.5))
expect_equal(cdf, 0.5)
fc7 <- claycop(par = 5, dim = 2)
cdf <- pcop(fc7, u = c(1, 1))
expect_equal(cdf, 1)
})
test_that("Independence cdf adheres to necessary properties", {
ic2 <- indcop(dim = 2)
cdf <- pcop(ic2, u = c(0.5, 0.5))
expect_equal(round(cdf, 2), 0.25)
ic3 <- indcop(dim = 2)
cdf <- pcop(ic3, u = c(0.5, 0))
expect_equal(cdf, 0)
ic4 <- indcop(dim = 2)
cdf <- pcop(ic4, u = c(0, 0.5))
expect_equal(cdf, 0)
ic5 <- indcop(dim = 2)
cdf <- pcop(ic5, u = c(0.5, 1))
expect_equal(cdf, 0.5)
ic6 <- indcop(dim = 2)
cdf <- pcop(ic6, u = c(1, 0.5))
expect_equal(cdf, 0.5)
ic7 <- indcop(dim = 2)
cdf <- pcop(ic7, u = c(1, 1))
expect_equal(cdf, 1)
})
test_that("Invalid u causes appropriate error", {
cc8 <- claycop(dim = 2, par = 5)
expect_error(cdf <- pcop(cc8, u = c(0.5, 0.5, 0.5)), "dimension")
expect_error(cdf <- pcop(cc8, u = c(0.5)), "dimension")
expect_error(cdf <- pcop(cc8, u = c(0.5, NA)), "missing")
fc8 <- frankcop(dim = 2, par = 5)
expect_error(cdf <- pcop(cc8, u = c(0.5, 0.5, 0.5)), "dimension")
expect_error(cdf <- pcop(cc8, u = c(0.5)), "dimension")
expect_error(cdf <- pcop(cc8, u = c(0.5, NA)), "missing")
ic8 <- indcop(dim = 2)
expect_error(cdf <- pcop(cc8, u = c(0.5, 0.5, 0.5)), "dimension")
expect_error(cdf <- pcop(cc8, u = c(0.5)), "dimension")
expect_error(cdf <- pcop(cc8, u = c(0.5, NA)), "missing")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.