## Test Messages ----
test_that("ksTest() messages",{
## Get data, make two more factor variables
tmp <- rep(LETTERS[1:3],each=17)[-1]
iris$fact1 <- factor(c(tmp,tmp,tmp))
tmp <- c(rep(letters[1:6],each=8),"f","f")
iris$fact2 <- factor(c(tmp,tmp,tmp))
## Problems with the formula
expect_error(ksTest(~Species,data=iris),
"must contain 1 response")
expect_error(ksTest(Species~1,data=iris),
"must contain 1 response")
expect_error(ksTest(Species~Sepal.Width,data=iris),
"LHS variable must be numeric")
expect_error(ksTest(Species~fact1,data=iris),
"LHS variable must be numeric")
expect_error(ksTest(Sepal.Length~Sepal.Width,data=iris),
"RHS Variable must be a factor")
expect_error(ksTest(Sepal.Length~Species+Sepal.Width,data=iris),
"must contain 1 response")
expect_error(ksTest(Sepal.Length~Species+fact1+fact2,data=iris),
"must contain 1 response")
## Problems with number of levels in factor variable
expect_error(ksTest(Sepal.Length~Species,data=iris),
"RHS variable has two levels")
})
## Test Output Types ----
test_that("Does ksTest() match ks.test()",{
x <- rnorm(50)
y <- runif(30)
df <- data.frame(dat=c(x,y),grp=factor(rep(c("X","Y"),c(50,30))),
stringsAsFactors=FALSE)
## one-sample (from ks.test) still works
tmp1 <- ksTest(x+2,"pgamma",3,2)
tmp1o <- ks.test(x+2,"pgamma",3,2)
expect_is(tmp1,"htest")
expect_equal(mode(tmp1),"list")
expect_equal(names(tmp1),names(tmp1o))
## first two-sample example in ?ks.test
tmp1 <- ksTest(x,y)
tmp1o <- ks.test(x,y)
expect_is(tmp1,"htest")
expect_equal(mode(tmp1),"list")
expect_equal(names(tmp1),names(tmp1o))
# using formula notation
tmp1f <- ksTest(dat~grp,data=df)
expect_is(tmp1f,"htest")
expect_equal(mode(tmp1f),"list")
expect_equal(names(tmp1f),names(tmp1o))
expect_identical(tmp1,tmp1f)
})
## Validate Results ----
test_that("Does ksTest() match ks.test()",{
x <- rnorm(50)
y <- runif(30)
df <- data.frame(dat=c(x,y),grp=factor(rep(c("X","Y"),c(50,30))),
stringsAsFactors=FALSE)
## one-sample (from ks.test) still works
tmp1 <- ksTest(x+2, "pgamma", 3, 2)
tmp1o <- ks.test(x+2, "pgamma", 3, 2)
expect_equal(tmp1$statistic,tmp1o$statistic)
expect_equal(tmp1$p.value,tmp1o$p.value)
## first two-sample example in ?ks.test
tmp1 <- ksTest(x,y)
tmp1o <- ks.test(x,y)
tmp1f <- ksTest(dat~grp,data=df)
expect_equal(tmp1,tmp1o)
expect_equal(tmp1f,tmp1o)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.