Nothing
testOTDD <- function(n.iter) {
for(i in 1:n.iter) {
set.seed(i)
X1 <- mvtnorm::rmvnorm(100, sigma = diag(10))
X2 <- mvtnorm::rmvnorm(100, mean = rep(c(0.1, -0.1), 5), sigma = diag(10))
y1 <- rbinom(100, 1, 1 / (1 + exp(1 - X1 %*% rep(0.5, 10))))
y2 <- rbinom(100, 1, 1 / (1 + exp(1 - X2 %*% rep(0.7, 10))))
X1 <- data.frame(y = factor(y1, levels = 0:1), X1)
X2 <- data.frame(y = factor(y2, levels = 0:1), X2)
res.OTDD <- DataSimilarity::OTDD(X1, X2, seed = i)
res.OTDD.aug <- DataSimilarity::OTDD(X1, X2, method = "augmentation", seed = i)
res.OTDD.ga <- DataSimilarity::OTDD(X1, X2, seed = i, inner.ot.method = "gaussian.approx")
res.OTDD.nu <- DataSimilarity::OTDD(X1, X2, seed = i, inner.ot.method = "naive.upperbound")
res.OTDD.mo <- DataSimilarity::OTDD(X1, X2, seed = i, inner.ot.method = "means.only")
res.OTDD.si <- DataSimilarity::OTDD(X1, X2, seed = i, sinkhorn = TRUE, debias = FALSE)
testthat::test_that("output type", {
# check length and names of output
testthat::expect_length(res.OTDD, 5)
testthat::expect_named(res.OTDD, c("statistic", "p.value",
"alternative", "method", "data.name"))
testthat::expect_length(res.OTDD.aug, 5)
testthat::expect_named(res.OTDD.aug, c("statistic", "p.value",
"alternative", "method", "data.name"))
testthat::expect_length(res.OTDD.ga, 5)
testthat::expect_named(res.OTDD.ga, c("statistic", "p.value",
"alternative", "method", "data.name"))
testthat::expect_length(res.OTDD.nu, 5)
testthat::expect_named(res.OTDD.nu, c("statistic", "p.value",
"alternative", "method", "data.name"))
testthat::expect_length(res.OTDD.mo, 5)
testthat::expect_named(res.OTDD.mo, c("statistic", "p.value",
"alternative", "method", "data.name"))
testthat::expect_length(res.OTDD.si, 5)
testthat::expect_named(res.OTDD.si, c("statistic", "p.value",
"alternative", "method", "data.name"))
# check p values in [0,1]
testthat::expect_true(is.null(res.OTDD$p.value))
testthat::expect_true(is.null(res.OTDD.aug$p.value))
testthat::expect_true(is.null(res.OTDD.ga$p.value))
testthat::expect_true(is.null(res.OTDD.nu$p.value))
testthat::expect_true(is.null(res.OTDD.mo$p.value))
testthat::expect_true(is.null(res.OTDD.si$p.value))
# statistic is not NA and >= 0
testthat::expect_false(is.na(res.OTDD$statistic))
testthat::expect_gte(res.OTDD$statistic, 0)
testthat::expect_false(is.na(res.OTDD.aug$statistic))
testthat::expect_gte(res.OTDD.aug$statistic, 0)
testthat::expect_false(is.na(res.OTDD.ga$statistic))
testthat::expect_gte(res.OTDD.ga$statistic, 0)
testthat::expect_false(is.na(res.OTDD.nu$statistic))
testthat::expect_gte(res.OTDD.nu$statistic, 0)
testthat::expect_false(is.na(res.OTDD.mo$statistic))
testthat::expect_gte(res.OTDD.mo$statistic, 0)
testthat::expect_false(is.na(res.OTDD.si$statistic))
testthat::expect_gte(res.OTDD.si$statistic, 0)
# output should be numeric
testthat::expect_s3_class(res.OTDD, "htest")
testthat::expect_s3_class(res.OTDD.aug, "htest")
testthat::expect_s3_class(res.OTDD.ga, "htest")
testthat::expect_s3_class(res.OTDD.nu, "htest")
testthat::expect_s3_class(res.OTDD.mo, "htest")
testthat::expect_s3_class(res.OTDD.si, "htest")
})
# cannot test results against any function
}
}
set.seed(0305)
testOTDD(1)
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.