context("assess_recurrence")
test_that("get_quantiles and column_recurrence work when x is binary", {
x <- c(0,0,0,0,1,1,1)
mat <- matrix(x, length(x), 1)
colnames(mat) = c("_once")
cr <- column_recurrence(x, get_quantiles(x))
expect_equal(cr$mat, mat)
expect_equal(colnames(cr$mat), sapply(cr$quants, `[[`, "q"))
})
test_that("get_quantiles and column_recurrence work when 50th and 75th %ile are the same", {
x <- c(0,0,0,0,1,1,1,3,3,3,3,3)
mat <- cbind(as.numeric(x>0), as.numeric(x >=3))
colnames(mat) = c("_once", "_sporadic")
cr <- column_recurrence(x, get_quantiles(x))
expect_equal(cr$mat, mat)
expect_equal(dim(cr$mat)[2], length(cr$quants))
expect_equal(colnames(cr$mat), sapply(cr$quants, `[[`, "q"))
})
test_that("get_quantiles and column_recurrence work when 50th %ile is 1", {
x <- c(0,0,0,0,1,1,1,1,1,3,3,3)
mat <- cbind(as.numeric(x>0), as.numeric(x >=3))
colnames(mat) = c("_once", "_frequent")
cr <- column_recurrence(x, get_quantiles(x))
expect_equal(cr$mat, mat)
expect_equal(dim(cr$mat)[2], length(cr$quants))
expect_equal(colnames(cr$mat), sapply(cr$quants, `[[`, "q"))
})
test_that("get_quantiles and column_recurrence work when 50th %ile is 1.5 and 75th is 2", {
x <- c(0,0,0,0,1,1,1,1,1,2,2,2,2,2)
mat <- cbind(as.numeric(x>0), as.numeric(x >1))
colnames(mat) = c("_once", "_sporadic")
cr <- column_recurrence(x, get_quantiles(x))
expect_equal(cr$mat, mat)
expect_equal(dim(cr$mat)[2], length(cr$quants))
expect_equal(colnames(cr$mat), sapply(cr$quants, `[[`, "q"))
})
test_that("get_quantiles and column_recurrence work when min is 50th %ile", {
x <- c(0,0,0,0,2,2,2,2,2,2,2,2, 3,3)
mat <- cbind(as.numeric(x>0))
colnames(mat) = c("_once")
cr <- column_recurrence(x, get_quantiles(x))
expect_equal(cr$mat, mat)
expect_equal(dim(cr$mat)[2], length(cr$quants))
expect_equal(colnames(cr$mat), sapply(cr$quants, `[[`, "q"))
})
test_that("dups are taken care of when quantiles are ints but not in the data", {
x <- c(0,0, 5, 1, 5, 5, 3, 7, 2, 5, 5, 3, 1, 3)
mat <- cbind(as.numeric(x>0), x > 4)
cr <- column_recurrence(x, get_quantiles(x), warndup=TRUE)
colnames(mat) = c("_once", "_sporadic")
expect_equal(cr$mat, mat)
})
test_that("assess_recurrence works", {
dat <- cbind(a=c(0,0,0,0,1,1,1,3,3,3,3,3),
b=c(0,0,0,0,1,1,1,1,1,3,3,3))
mat <- cbind(as.numeric(dat[ ,1]>0), as.numeric(dat[ ,1] >=3),
as.numeric(dat[ ,2]>0), as.numeric(dat[ ,2] >=3))
colnames(mat) <- c("a_once", "a_sporadic", "b_once", "b_frequent")
#quants <- list(a=c("_once"=1, "_sporadic"=3), b=c("_once"=1, "_frequent"=3))
quants <- list(list(varname="a", q="_once", count=1),
list(varname="a", q="_sporadic", count=3),
list(varname="b", q="_once", count=1),
list(varname="b", q="_frequent", count=3))
ar <- assess_recurrence(dat)
expect_equal(ar[["mat"]], mat)
expect_equal(ar[["quants"]], quants)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.