Nothing
require(DSLite)
require(DSI)
require(dplyr)
require(dsTidyverse)
require(dsBaseClient)
mtcars <- mtcars %>% mutate(cat_var = factor(ifelse(mpg > 20, "high", "low")))
login_data <- .prepare_dslite(assign_method = "ifElseDS", tables = list(mtcars = mtcars))
conns <- datashield.login(logins = login_data)
datashield.assign.table(conns, "mtcars", "mtcars")
test_that("ds.if_else correctly passes argument with numeric condition and categorical outcome", {
skip_if_not_installed("dsBaseClient")
ds.if_else(
condition = list(mtcars$mpg > 20),
"high",
"low",
newobj = "test",
datasources = conns
)
nqmes <- names(ds.table("test", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts)
expect_equal(
nqmes,
c("high", "low", "NA")
)
expect_equal(
ds.class("test", datasources = conns)[[1]],
"character"
)
counts <- ds.table("test", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts
expect_equal(
as.numeric(counts),
c(42, 54, 0)
)
})
test_that("ds.if_else correctly passes argument with numeric condition and numerical outcome", {
skip_if_not_installed("dsBaseClient")
ds.if_else(
condition = list(mtcars$mpg > 20),
99,
100,
newobj = "test",
datasources = conns
)
nqmes <- names(ds.table("test", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts)
expect_equal(
nqmes,
c("99", "100", "NA")
)
expect_equal(
ds.class("test", datasources = conns)[[1]],
"numeric"
)
counts <- ds.table("test", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts
expect_equal(
as.numeric(counts),
c(42, 54, 0)
)
})
test_that("ds.if_else correctly passes argument with = ", {
skip_if_not_installed("dsBaseClient")
ds.if_else(
condition = list(mtcars$vs == "0"),
"no",
"yes",
newobj = "testcat",
datasources = conns
)
names <- names(ds.table("testcat", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts)
expect_equal(
names,
c("no", "yes", "NA")
)
expect_equal(
ds.class("testcat", datasources = conns)[[1]],
"character"
)
counts <- ds.table("testcat", datasources = conns)$output.list$TABLES.COMBINED_all.sources_counts
expect_equal(
as.numeric(counts),
c(54, 42, 0)
)
})
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.