# Copyright (c) 2016 Nuno Fachada
# Distributed under the MIT License (http://opensource.org/licenses/MIT)
library(micompr)
context("micompr utilities")
# Test pvalcol
test_that("pvalcol produces expected results", {
tc <- c("darkgreen", "yellow", "red")
expect_equal(micompr:::pvalcol(c(0.06, 0.9, 0.0001, 0.3, 0.2, 0.02), tc),
c(tc[1], tc[1], tc[3], tc[1], tc[1], tc[2]))
expect_equal(micompr:::pvalcol(c(1, 0, 0.01, 0.05), tc),
c(tc[1], tc[3], tc[2], tc[1]), tc)
expect_equal(micompr:::pvalcol(1, tc), tc[1])
expect_equal(micompr:::pvalcol(c(1, 0.5, 0, 0.9, 0.4, 0.001),
c("green","black","red","cyan"),
c(1, 0.5, 0.1)),
c("green", "black", "cyan", "black", "red","cyan"))
})
# Test plotcols
test_that("plotcols produces expected results", {
expect_equal(micompr:::plotcols(),
c("blue", "red", "green", "gold", "violet", "cyan"))
})
# Test centerscale
test_that("centerscale produces expected results", {
v <- c(-10, -3, 400, 10, 10, 15, -800, -33909.34, 3.21, 0, -2, 100, -100.5,
19, 0.0005, 14.1, 3e10, -2e-10, -1.4e12, 20, 400, 4.553e-19, 20)
expect_equal(centerscale(v, "center"),
v - mean(v))
expect_equal(centerscale(v, "auto"),
(v - mean(v)) / sd(v))
expect_equal(centerscale(v, "range"),
(v - mean(v)) / (max(v) - min(v)))
expect_equal(centerscale(v, "iqrange"),
(v - mean(v)) / IQR(v, type = 5))
expect_equal(centerscale(v, "vast"),
(v - mean(v)) * mean(v) / var(v))
expect_equal(centerscale(v, "pareto"),
(v - mean(v)) / sqrt(sd(v)))
expect_equal(centerscale(v, "level"),
(v - mean(v)) / mean(v))
expect_equal(centerscale(v, "none"),
v)
})
test_that("concat_outputs produces correct results and expected errors", {
# Set RNG seed for reproducible results
set.seed(123)
# Output 1, length 100
out1 <- matrix(rnorm(2000, mean = 0, sd = 1), nrow = 20)
# Output 2, length 200
out2 <- matrix(rnorm(4000, mean = 100, sd = 200), nrow = 20)
# Output 1, length 50
out3 <- matrix(rnorm(1000, mean = -1000, sd = 10), nrow = 20)
# Different methods for centering and scaling
expect_is(concat_outputs(list(out1, out2, out3), "center"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "auto"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "range"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "iqrange"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "vast"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "pareto"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "level"), "matrix")
expect_is(concat_outputs(list(out1, out2, out3), "none"), "matrix")
# More or less outputs
expect_is(concat_outputs(list(out1), "range"), "matrix")
expect_is(concat_outputs(list(out1, out2), "range"), "matrix")
expect_is(concat_outputs(list(out1, out2, out1, out2, out3, out1, out3),
"range"), "matrix")
# Errors
expect_error(concat_outputs("this is not a list", "none"),
"'outputlist' argument is not a list")
expect_error(concat_outputs(list(), "none"),
"'outputlist' is an empty list")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.