context("Scaling")
test_that("Testing scale_uniform", {
# generate some random data
num_samples <- 40
num_dims <- 10
data <- matrix(runif(num_samples * num_dims), nrow = num_samples,
dimnames = list(paste0("Sample", seq_len(num_samples)), paste0("Dim", seq_len(num_dims))))
data_sc <- scale_uniform(data, center = 0, max_range = 1)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal(max(ranges[2,] - ranges[1,]), 1)
expect_equal((ranges[1,] + ranges[2,]) / 2, setNames(rep(0, num_dims), colnames(data)))
expect_equal(dimnames(data_sc), dimnames(data))
# reapply
data_sc2 <- apply_uniform_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_uniform(data, center = 10, max_range = 1000)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal(max(ranges[2,] - ranges[1,]), 1000)
expect_equal(colMeans(ranges), setNames(rep(10, num_dims), colnames(data)))
})
test_that("Testing scale_uniform with edge case", {
# generate some random data
num_samples <- 1
num_dims <- 10
data <- matrix(runif(num_samples * num_dims), nrow = num_samples,
dimnames = list(paste0("Sample", seq_len(num_samples)), paste0("Dim", seq_len(num_dims))))
data_sc <- scale_uniform(data, center = 0, max_range = 1)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal(max(ranges[2,] - ranges[1,]), 0) # 0 because only 1 sample
expect_equal(colMeans(ranges), setNames(rep(0, num_dims), colnames(data)))
# reapply
data_sc2 <- apply_uniform_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_uniform(data, center = 10, max_range = 1000)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal(max(ranges[2,] - ranges[1,]), 0) # 0 because only 1 sample
expect_equal(colMeans(ranges), setNames(rep(10, num_dims), colnames(data)))
})
test_that("Testing scale_uniform with another edge case", {
# generate some random data
num_samples <- 10
num_dims <- 1
data <- matrix(runif(num_samples * num_dims), nrow = num_samples)
data_sc <- scale_uniform(data, center = 0, max_range = 1)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal(max(ranges[2,] - ranges[1,]), 1)
expect_equal(colMeans(ranges), rep(0, num_dims))
# reapply
data_sc2 <- apply_uniform_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_uniform(data, center = 10, max_range = 1000)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal(max(ranges[2,] - ranges[1,]), 1000)
expect_equal(colMeans(ranges), rep(10, num_dims))
})
test_that("Testing scale_uniform with vector", {
# generate some random data
num_samples <- 10
data <- runif(num_samples)
data_sc <- scale_uniform(data, center = 0, max_range = 1)
ranges <- range(data_sc)
expect_is( data_sc, "numeric" )
expect_equal( length(data_sc), length(data) )
expect_equal(max(ranges[[2]] - ranges[[1]]), 1)
expect_equal(mean(ranges), 0)
# reapply
data_sc2 <- apply_uniform_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_uniform(data, center = 10, max_range = 1000)
ranges <- range(data_sc)
expect_is( data_sc, "numeric" )
expect_equal( length(data_sc), length(data) )
expect_equal(max(ranges[[2]] - ranges[[1]]), 1000)
expect_equal(mean(ranges), 10)
})
test_that("Testing scale_quantile", {
# generate some random data
num_samples <- 40
num_dims <- 10
data <- matrix(runif(num_samples * num_dims), nrow = num_samples,
dimnames = list(paste0("Sample", seq_len(num_samples)), paste0("Dim", seq_len(num_dims))))
data_sc <- scale_quantile(data, outlier_cutoff = 0.05)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal( ranges, matrix(rep(c(0, 1), num_dims), ncol = num_dims, dimnames = list(NULL, colnames(data))) )
expect_equal(dimnames(data_sc), dimnames(data))
# reapply
data_sc2 <- apply_quantile_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_quantile(data, outlier_cutoff = 0)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal( ranges, matrix(rep(c(0, 1), num_dims), ncol = num_dims, dimnames = list(NULL, colnames(data))) )
data_sc2 <- scale_minmax(data)
expect_equal(data_sc, data_sc2)
})
test_that("Testing scale_quantile with edge case", {
# generate some random data
num_samples <- 1
num_dims <- 10
data <- matrix(runif(num_samples * num_dims), nrow = num_samples)
data_sc <- scale_quantile(data, outlier_cutoff = 0.05)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal( ranges, matrix(rep(c(0, 0), num_dims), ncol = num_dims) )
# reapply
data_sc2 <- apply_quantile_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_quantile(data, outlier_cutoff = 0)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal( ranges, matrix(rep(c(0, 0), num_dims), ncol = num_dims) )
data_sc2 <- scale_minmax(data)
expect_equal(data_sc, data_sc2)
})
test_that("Testing scale_quantile with another edge case", {
# generate some random data
num_samples <- 40
num_dims <- 1
data <- matrix(runif(num_samples * num_dims), nrow = num_samples)
data_sc <- scale_quantile(data, outlier_cutoff = 0.05)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal( ranges, matrix(rep(c(0, 1), num_dims), ncol = num_dims) )
# reapply
data_sc2 <- apply_quantile_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_quantile(data, outlier_cutoff = 0)
ranges <- apply(data_sc, 2, range)
expect_is( data_sc, "matrix" )
expect_equal( nrow(data_sc), nrow(data) )
expect_equal( ncol(data_sc), ncol(data) )
expect_equal( ranges, matrix(rep(c(0, 1), num_dims), ncol = num_dims) )
data_sc2 <- scale_minmax(data)
expect_equal(data_sc, data_sc2)
})
test_that("Testing scale_quantile with a vector", {
# generate some random data
num_samples <- 40
data <- runif(num_samples)
data_sc <- scale_quantile(data, outlier_cutoff = 0.05)
ranges <- range(data_sc)
expect_is( data_sc, "numeric" )
expect_equal( length(data_sc), length(data) )
expect_equal( ranges, c(0, 1) )
# reapply
data_sc2 <- apply_quantile_scale(data, attr(data_sc, "addend"), attr(data_sc, "multiplier"))
expect_equal(data_sc, data_sc2)
# try with a different center and max_range
data_sc <- scale_quantile(data, outlier_cutoff = 0)
ranges <- range(data_sc)
expect_is( data_sc, "numeric" )
expect_equal( length(data_sc), length(data) )
expect_equal( ranges, c(0, 1) )
data_sc2 <- scale_minmax(data)
expect_equal(data_sc, data_sc2)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.