Nothing
# Author: Quentin Grimonprez
context("Statistics on data object")
test_that("compute_time_spent_intern works", {
dat <- data.frame(id = rep(1, 5), time = c(0, 1.5, 4, 5, 6), state = c(1, 3, 2, 1, 1))
out <- compute_time_spent_intern(dat, 1:3)
expectedOut <- c(1.5 + 1, 1, 2.5)
expect_equal(sum(out), max(dat$time))
expect_equal(out, expectedOut)
})
test_that("compute_time_spent_intern works with more labels", {
dat <- data.frame(id = rep(1, 5), time = c(0, 1.5, 4, 5, 6), state = c(1, 3, 2, 1, 1))
out <- compute_time_spent_intern(dat, 1:4)
expectedOut <- c(1.5 + 1, 1, 2.5, 0)
expect_equal(sum(out), max(dat$time))
expect_equal(out, expectedOut)
})
test_that("compute_time_spent works", {
dat <- data.frame(id = rep(1:2, c(5, 3)), time = c(0, 1.5, 4, 5, 6, 0, 3, 6), state = c(1, 3, 2, 1, 1, 1, 2, 3))
out <- compute_time_spent(dat)
expectedOut <- rbind(
c(1.5 + 1, 1, 2.5),
c(3, 3, 0)
)
colnames(expectedOut) <- 1:3
rownames(expectedOut) <- 1:2
class(expectedOut) <- "timeSpent"
expect_equal(out, expectedOut)
})
test_that("compute_time_spent keeps unused levels", {
dat <- data.frame(id = rep(1:2, c(5, 3)), time = c(0, 1.5, 4, 5, 6, 0, 3, 6), state = c(1, 3, 2, 1, 1, 1, 2, 3))
dat$state <- factor(dat$state, levels = 1:4)
out <- compute_time_spent(dat)
expectedOut <- rbind(
c(1.5 + 1, 1, 2.5, 0),
c(3, 3, 0, 0)
)
colnames(expectedOut) <- 1:4
rownames(expectedOut) <- 1:2
class(expectedOut) <- "timeSpent"
expect_equal(out, expectedOut)
})
test_that("boxplot.timeSpent does not produce warnings", {
dat <- data.frame(id = rep(1:2, c(5, 3)), time = c(0, 1.5, 4, 5, 6, 0, 3, 6), state = c(1, 3, 2, 1, 1, 1, 2, 3))
out <- compute_time_spent(dat)
expect_warning(boxplot(out), regexp = NA)
expect_warning(boxplot(out, col = c("red", "blue", "green"), outlier.colour = "black"), regexp = NA)
expect_silent(boxplot(out, col = c("red", "blue", "green"), outlier.colour = "black"))
})
test_that("compute_duration works", {
dat <- data.frame(id = rep(1:2, c(5, 3)), time = c(0, 1.5, 4, 5, 7, 0, 3, 6), state = c(1, 3, 2, 1, 1, 1, 2, 3))
out <- compute_duration(dat)
expectedOut <- c("1" = 7, "2" = 6)
class(expectedOut) <- "duration"
expect_equivalent(out, expectedOut)
})
test_that("hist.duration does not produce warnings", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
duration <- compute_duration(d_JK)
expect_warning(hist(duration), regexp = NA)
expect_warning(hist(duration, color = "red"), regexp = NA)
})
test_that("id_get_state returns the right state", {
dat <- data.frame(id = rep(1, 5), time = c(0, 1.5, 4, 5, 6), state = c(1, 3, 2, 1, 1))
out <- id_get_state(dat, 3, NAafterTmax = FALSE)
expect_equal(out, 3)
out <- id_get_state(dat, 7, NAafterTmax = TRUE)
expect_equal(out, NA)
out <- id_get_state(dat, 7, NAafterTmax = FALSE)
expect_equal(out, 1)
out <- id_get_state(dat, 6, NAafterTmax = TRUE)
expect_equal(out, 1)
})
test_that("get_state returns the right state", {
dat <- data.frame(id = rep(1:2, c(5, 3)), time = c(0, 1.5, 4, 5, 6, 0, 3, 6), state = c(1, 3, 2, 1, 1, 1, 2, 3))
expect_error(get_state(dat, c(3, 2)), regexp = "t must be a real.")
expect_error(get_state(dat, NA), regexp = "t must be a real.")
expect_error(get_state(dat, NaN), regexp = "t must be a real.")
out <- get_state(dat, 3)
expect_equivalent(out, c(3, 2))
})
test_that("estimate_pt works with same t", {
dat <- data.frame(id = rep(1:2, each = 6), time = rep(0:5, 2), state = c(
1, 3, 2, 1, 1, 1,
2, 3, 1, 2, 3, 1
))
out <- estimate_pt(dat)
expect_length(out, 2)
expect_equal(names(out), c("pt", "t"))
expect_equal(out$t, 0:5)
expect_equivalent(colSums(out$pt), rep(1, ncol(out$pt)))
expect_equal(
out$pt,
matrix(
c(1 / 2, 1 / 2, 0, 0, 0, 1, 1 / 2, 1 / 2, 0, 1 / 2, 1 / 2, 0, 1 / 2, 0, 1 / 2, 1, 0, 0),
nrow = 3, dimnames = list(1:3, 0:5)
)
)
})
test_that("estimate_pt keeps unused levels", {
dat <- data.frame(id = rep(1:2, each = 6), time = rep(0:5, 2), state = c(
1, 3, 2, 1, 1, 1,
2, 3, 1, 2, 3, 1
))
dat$state <- factor(dat$state, levels = 1:4)
out <- estimate_pt(dat)
expect_length(out, 2)
expect_equal(names(out), c("pt", "t"))
expect_equal(out$t, 0:5)
expect_equivalent(colSums(out$pt), rep(1, ncol(out$pt)))
expect_equal(
out$pt,
matrix(
c(1 / 2, 1 / 2, 0, 0, 0, 0, 1, 0, 1 / 2, 1 / 2, 0, 0, 1 / 2, 1 / 2, 0, 0, 1 / 2, 0, 1 / 2, 0, 1, 0, 0, 0),
nrow = 4, dimnames = list(1:4, 0:5)
)
)
})
test_that("estimate_pt works with different t", {
dat <- data.frame(id = rep(1:2, c(6, 5)), time = c(0:5, 0, 1.5, 2, 3.5, 6), state = c(
1, 3, 2, 1, 1, 1,
2, 3, 1, 2, 2
))
out <- estimate_pt(dat)
expect_length(out, 2)
expect_equal(names(out), c("pt", "t"))
expect_equal(out$t, c(0, 1, 1.5, 2, 3, 3.5, 4, 5, 6))
expect_equivalent(colSums(out$pt), rep(1, ncol(out$pt)))
expect_equal(
out$pt,
matrix(
c(
1 / 2, 1 / 2, 0, 0, 1 / 2, 1 / 2, 0, 0, 1, 1 / 2, 1 / 2, 0, 1, 0, 0,
1 / 2, 1 / 2, 0, 1 / 2, 1 / 2, 0, 1 / 2, 1 / 2, 0, 1 / 2, 1 / 2, 0
),
nrow = 3, dimnames = list(1:3, out$t)
)
)
out <- estimate_pt(dat, NAafterTmax = TRUE)
expect_length(out, 2)
expect_equal(names(out), c("pt", "t"))
expect_equal(out$t, c(0, 1, 1.5, 2, 3, 3.5, 4, 5, 6))
expect_equivalent(colSums(out$pt), rep(1, ncol(out$pt)))
expect_equal(
out$pt,
matrix(
c(
1 / 2, 1 / 2, 0, 0, 1 / 2, 1 / 2, 0, 0, 1, 1 / 2, 1 / 2, 0, 1, 0, 0, 1 / 2,
1 / 2, 0, 1 / 2, 1 / 2, 0, 1 / 2, 1 / 2, 0, 0, 1, 0
),
nrow = 3, dimnames = list(1:3, out$t)
)
)
})
test_that("get_proba returns the right probabilities", {
pt <- list(t = 1:10, pt = matrix(1:30, nrow = 3, ncol = 10, byrow = TRUE, dimnames = list(letters[1:3], 1:10)))
class(pt) <- "pt"
expect_equal(get_proba(pt, 1.5), c("a" = 1, "b" = 11, "c" = 21))
expect_equal(get_proba(pt, 1), c("a" = 1, "b" = 11, "c" = 21))
expect_equal(get_proba(pt, 5), c("a" = 5, "b" = 15, "c" = 25))
expect_equal(get_proba(pt, 5.5), c("a" = 5, "b" = 15, "c" = 25))
expect_equal(get_proba(pt, 6), c("a" = 6, "b" = 16, "c" = 26))
expect_equal(get_proba(pt, 10), c("a" = 10, "b" = 20, "c" = 30))
expect_equal(get_proba(pt, 11), c("a" = 10, "b" = 20, "c" = 30))
expect_equal(get_proba(pt, 0), c("a" = NA, "b" = NA, "c" = NA))
})
test_that("plot_pt_classic does not produce warnings", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
d_JK2 <- cut_data(d_JK, 10)
pt <- estimate_pt(d_JK2)
expect_warning(plot_pt_classic(pt), regexp = NA)
})
test_that("plot_pt_ribbon does not produce warnings", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
d_JK2 <- cut_data(d_JK, 10)
pt <- estimate_pt(d_JK2)
expect_warning(plot_pt_ribbon(pt), regexp = NA)
})
test_that("plot_pt does not produce warnings", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
d_JK2 <- cut_data(d_JK, 10)
pt <- estimate_pt(d_JK2)
expect_warning(plot(pt, ribbon = FALSE), regexp = NA)
expect_warning(plot(pt, ribbon = FALSE, col = c("red", "blue", "green", "black")), regexp = NA)
expect_silent(plot(pt, ribbon = FALSE, col = c("red", "blue", "green", "black")))
expect_silent(plot(pt, ribbon = TRUE, col = c("red", "blue", "green", "black")))
expect_warning(plot(pt, ribbon = TRUE, addBorder = TRUE), regexp = NA)
expect_warning(plot(pt, ribbon = TRUE, addBorder = FALSE), regexp = NA)
expect_warning(plot(pt, ribbon = TRUE, addBorder = FALSE, col = c("red", "blue", "green", "black")), regexp = NA)
})
test_that("compute_number_jumps works", {
dat <- data.frame(id = rep(1:2, c(6, 5)), time = c(0:5, 0, 1.5, 2, 3.5, 5), state = c(1:6, 1:5))
out <- compute_number_jumps(dat)
expectedOut <- c(5, 4)
class(expectedOut) <- "njump"
expect_equivalent(out, expectedOut)
})
test_that("compute_number_jumpsIntern works with countDuplicated = TRUE", {
dat <- data.frame(id = 1:20, time = 1:20, state = rep(1:10, each = 2))
out <- compute_number_jumpsIntern(dat, countDuplicated = TRUE)
expectedOut <- 19
expect_equivalent(out, expectedOut)
dat <- data.frame(id = 1:20, time = 1:20, state = rep(letters[1:10], each = 2))
out <- compute_number_jumpsIntern(dat, countDuplicated = TRUE)
expectedOut <- 19
expect_equivalent(out, expectedOut)
})
test_that("compute_number_jumpsIntern works with countDuplicated = FALSE", {
# without duplicate state
dat <- data.frame(id = 1:20, time = 1:20, state = 1:20)
out <- compute_number_jumpsIntern(dat, countDuplicated = FALSE)
expectedOut <- 19
expect_equivalent(out, expectedOut)
# with ordered time
dat <- data.frame(id = 1:20, time = 1:20, state = rep(1:10, each = 2))
out <- compute_number_jumpsIntern(dat, countDuplicated = FALSE)
expectedOut <- 9
expect_equivalent(out, expectedOut)
# with unordered time
dat <- data.frame(id = 1:20, time = c(11:20, 1:10), state = as.factor(rep(letters[1:5], each = 4)))
out <- compute_number_jumpsIntern(dat, countDuplicated = FALSE)
expectedOut <- 5
expect_equivalent(out, expectedOut)
})
test_that("hist.njump does not produce warnings", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
njump <- compute_number_jumps(d_JK)
expect_warning(hist(njump), regexp = NA)
expect_warning(hist(njump, color = "red"), regexp = NA)
})
test_that("statetable works", {
dat <- data.frame(id = rep(1:2, c(6, 6)), time = c(0:5, 0, 1.5, 2, 3.5, 5, 6), state = c(1:6, 1:5, 5))
out <- statetable(dat, removeDiagonal = FALSE)
expectedOut <- matrix(0, nrow = 6, ncol = 6)
expectedOut[1, 2] <- expectedOut[2, 3] <- expectedOut[3, 4] <- expectedOut[4, 5] <- 2
expectedOut[5, 6] <- expectedOut[5, 5] <- 1
expect_equivalent(out, expectedOut)
out <- statetable(dat, removeDiagonal = TRUE)
expectedOut[5, 5] <- 0
expect_equivalent(out, expectedOut)
})
test_that("rep_large_ind works", {
dat <- data.frame(id = rep(1:2, c(6, 5)), time = c(0:5, 0, 1.5, 2, 3.5, 5), state = c(1:6, 1:5))
out <- rep_large_ind(dat)
expectedOut <- data.frame(
id = rep(1:2, c(5, 4)),
t_start = c(0:4, 0, 1.5, 2, 3.5),
t_end = c(1:5, 1.5, 2, 3.5, 5),
state = c(1:5, 1:4)
)
expect_equivalent(out, expectedOut)
out <- rep_large_ind(dat[dat$id == 1, ])
expect_equivalent(out, expectedOut[expectedOut$id == 1, ])
})
test_that("rep_large_ind works with data with one element", {
dat <- data.frame(id = 1, time = 0, state = 1)
out <- rep_large_ind(dat)
expectedOut <- data.frame(
id = 1,
t_start = 0,
t_end = 0,
state = 1
)
expect_equivalent(out, expectedOut)
})
test_that("rep_large_ind works with group", {
dat <- data.frame(id = rep(1:2, c(6, 1)), time = c(0:5, 0), state = c(1:6, 1), group = rep(c(5, 2), c(6, 1)))
out <- rep_large_ind(dat)
expectedOut <- data.frame(
id = rep(1:2, c(5, 1)),
t_start = c(0:4, 0),
t_end = c(1:5, 0),
state = c(1:5, 1),
group = rep(c(5, 2), c(5, 1))
)
expect_equivalent(out, expectedOut)
})
test_that("rep_large_ind keeps id order int", {
dat <- data.frame(id = rep(c(8, 5), c(6, 5)), time = c(0:5, 0, 1.5, 2, 3.5, 5), state = c(1:6, 1:5))
out <- rep_large_ind(dat)
expectedOut <- data.frame(
id = rep(c(8, 5), c(5, 4)),
t_start = c(0:4, 0, 1.5, 2, 3.5),
t_end = c(1:5, 1.5, 2, 3.5, 5),
state = c(1:5, 1:4)
)
expect_equivalent(out, expectedOut)
out <- rep_large_ind(dat[dat$id == 5, ])
expect_equivalent(out, expectedOut[expectedOut$id == 5, ])
})
test_that("rep_large_ind keeps id order char", {
dat <- data.frame(id = rep(c("Flour9", "Flour10"), c(6, 5)), time = c(0:5, 0, 1.5, 2, 3.5, 5), state = c(1:6, 1:5))
out <- rep_large_ind(dat)
expectedOut <- data.frame(
id = rep(c("Flour9", "Flour10"), c(5, 4)),
t_start = c(0:4, 0, 1.5, 2, 3.5),
t_end = c(1:5, 1.5, 2, 3.5, 5),
state = c(1:5, 1:4)
)
expect_equivalent(out, expectedOut)
out <- rep_large_ind(dat[dat$id == "Flour10", ])
expect_equivalent(out, expectedOut[expectedOut$id == "Flour10", ])
})
test_that("rep_large_ind keeps id order factor", {
dat <- data.frame(
id = factor(rep(c("Flour9", "Flour10"), c(6, 5)), levels = c("Flour10", "Flour9")),
time = c(0:5, 0, 1.5, 2, 3.5, 5), state = c(1:6, 1:5)
)
out <- rep_large_ind(dat)
expectedOut <- data.frame(
id = factor(rep(c("Flour9", "Flour10"), c(5, 4)), levels = c("Flour10", "Flour9")),
t_start = c(0:4, 0, 1.5, 2, 3.5),
t_end = c(1:5, 1.5, 2, 3.5, 5),
state = c(1:5, 1:4)
)
expect_equivalent(out, expectedOut)
out <- rep_large_ind(dat[dat$id == "Flour10", ])
expect_equivalent(out, expectedOut[expectedOut$id == "Flour10", ])
})
test_that("orderFirstState works", {
dat <- data.frame(id = rep(1:5, c(2, 1, 2, 2, 1)), time = c(0:1, 0, 0, 2, 0, 3, 0), state = c(1:2, 1, 1:2, 2:1, 2))
expectedOut <- data.frame(id = c(1, 3, 2, 4, 5), time = c(1, 2, Inf, 3, Inf), state = c(1, 1, 1, 2, 2))
out <- orderFirstState(dat)
expect_equivalent(out, expectedOut)
})
test_that("computePosition works", {
dat <- data.frame(
id = rep(1:5, each = 2),
time = c(0:1, c(0, 2), c(0, 1), c(0, 3), c(0, 2)),
state = c(1:2, 2:1, 2:1, 2:1, 1:2)
)
d <- rep_large_ind(dat)
out <- computePosition(dat, d$id, sort = FALSE)
expect_equivalent(out, d$id)
out <- computePosition(dat, d$id, sort = TRUE)
expect_equivalent(out, order(c(1, 5, 3, 2, 4)))
})
test_that("computePosition keeps id orders", {
dat <- data.frame(
id = rep(c(2, 3, 1, 5, 4), each = 2),
time = c(0:1, c(0, 2), c(0, 1), c(0, 3), c(0, 2)),
state = c(1:2, 2:1, 2:1, 2:1, 1:2)
)
d <- rep_large_ind(dat)
out <- computePosition(dat, d$id, sort = FALSE)
expect_equivalent(out, 1:5)
expect_equivalent(levels(out), c("2", "3", "1", "5", "4"))
out <- computePosition(dat, d$id, sort = TRUE)
expect_equivalent(out, order(c(1, 5, 3, 2, 4)))
})
test_that("computePositionPerGroup works", {
dat <- data.frame(
id = rep(1:5, each = 2), time = c(0:1, c(0, 2), c(0, 1), c(0, 3), c(0, 2)),
state = c(1:2, 2:1, 2:1, 2:1, 1:2), group = rep(1:2, c(6, 4))
)
d <- rep_large_ind(dat)
out <- computePositionPerGroup(dat, d$id, d$group, sort = FALSE)
expect_equivalent(out, d$id)
# non consecutive group number
d$group[d$group == 2] <- 3
dat$group[dat$group == 2] <- 3
out <- computePositionPerGroup(dat, d$id, d$group, sort = TRUE)
expect_equivalent(out, c(1, 3, 2, 5, 4))
})
test_that("computePositionPerGroup works when there is only 1 group", {
dat <- data.frame(
id = rep(1:5, each = 2), time = c(0:1, c(0, 2), c(0, 1), c(0, 3), c(0, 2)),
state = c(1:2, 2:1, 2:1, 2:1, 1:2), group = rep(1, 10)
)
d <- rep_large_ind(dat)
out <- computePositionPerGroup(dat, d$id, d$group, sort = FALSE)
expect_equivalent(out, d$id)
})
test_that("createLabeller works", {
group <- rep(1:3, 6:4)
f <- createLabeller(group)
expect_is(f, "function")
expect_equal(f(value = "1"), list("1" = "1: n=6"))
expect_equal(f(value = "2"), list("2" = "2: n=5"))
expect_equal(f(value = "3"), list("3" = "3: n=4"))
})
test_that("plotData does not produce warnings", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
d_JKT <- cut_data(d_JK, Tmax = 10)
group <- rep(1:2, c(3, 7))
expect_warning(plotData(d_JK, addId = TRUE, addBorder = TRUE, sort = FALSE), regexp = NA)
expect_warning(
plotData(d_JK, addId = FALSE, addBorder = FALSE, col = c("red", "blue", "green", "yellow")),
regexp = NA
)
expect_silent(plotData(d_JK, addId = FALSE, addBorder = FALSE, col = c("red", "blue", "green", "yellow")))
expect_warning(plotData(d_JK, addId = FALSE, addBorder = FALSE, sort = TRUE), regexp = NA)
expect_warning(plotData(d_JK, group = group, addId = FALSE, addBorder = FALSE, sort = FALSE), regexp = NA)
expect_warning(plotData(d_JK, group = group, addId = FALSE, addBorder = FALSE, sort = TRUE), regexp = NA)
expect_warning(plotData(d_JK, group = group, addId = FALSE, addBorder = FALSE, sort = TRUE, nCol = 2), regexp = NA)
expect_warning(
plotData(d_JK, group = as.factor(group), addId = FALSE, addBorder = FALSE, sort = TRUE, nCol = 2),
regexp = NA
)
})
test_that("plotData produces an error when group is bad", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
d_JKT <- cut_data(d_JK, Tmax = 10)
expect_error(
plotData(d_JK, group = 2, addId = FALSE, addBorder = FALSE, sort = FALSE),
regexp = "group must be a vector with the same length than the number of ids of data."
)
expect_error(
plotData(d_JK, group = 2:nrow(d_JK), addId = FALSE, addBorder = FALSE, sort = FALSE),
regexp = "group must be a vector with the same length than the number of ids of data."
)
})
test_that("plotData produces an error when nCol is bad", {
K <- 4
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = 10)
d_JKT <- cut_data(d_JK, Tmax = 10)
expect_error(
plotData(d_JK, group = rep(1:2, each = 5), addId = FALSE, addBorder = FALSE, sort = FALSE, nCol = -1),
regexp = "nCol must be an integer > 0."
)
expect_error(
plotData(d_JK, group = rep(1:2, each = 5), addId = FALSE, addBorder = FALSE, sort = FALSE, nCol = "aaa"),
regexp = "nCol must be an integer > 0."
)
expect_error(
plotData(d_JK, group = rep(1:2, each = 5), addId = FALSE, addBorder = FALSE, sort = FALSE, nCol = 1:3),
regexp = "nCol must be an integer > 0."
)
})
test_that("plotData does not produce warnings with factor ids", {
care <- data.frame(
id = rep(c(3, 9, 15), c(2, 2, 7)),
time = c(0, 5, 0, 1, 0, 4, 7, 8, 15, 24, 32),
state = c("D", "D", "D", "D", "D", "T", "C", "D", "C", "T", "T")
)
d <- care
d$id <- as.factor(d$id)
expect_silent(plotData(d))
d <- d[c(3:4, 5:11, 1:2), ]
d$id <- as.factor(d$id)
expect_silent(plotData(d))
})
test_that("plotData does not produce warnings with integer ids", {
care <- data.frame(
id = rep(c(3, 9, 15), c(2, 2, 7)),
time = c(0, 5, 0, 1, 0, 4, 7, 8, 15, 24, 32),
state = c("D", "D", "D", "D", "D", "T", "C", "D", "C", "T", "T")
)
d <- care
expect_silent(plotData(d))
d <- d[c(3:4, 5:11, 1:2), ]
expect_silent(plotData(d))
})
test_that("plotData does not produce warnings with character ids", {
care <- data.frame(
id = rep(c(3, 9, 15), c(2, 2, 7)),
time = c(0, 5, 0, 1, 0, 4, 7, 8, 15, 24, 32),
state = c("D", "D", "D", "D", "D", "T", "C", "D", "C", "T", "T")
)
d <- care
d$id <- as.character(d$id)
expect_silent(plotData(d))
d <- d[c(3:4, 5:11, 1:2), ]
d$id <- as.character(d$id)
expect_silent(plotData(d))
})
test_that("plotData does not produce warnings with care", {
data(care)
expect_silent(plotData(care))
})
test_that("summary_cfd words", {
dat <- data.frame(id = rep(1:5, c(2, 1, 2, 2, 1)), time = c(0:1, 0, 0, 2, 0, 3, 0), state = c(1:2, 1, 1:2, 2:1, 2))
expect_output(out <- summary_cfd(dat))
expectedOut <- list(
nRow = 8, nInd = 5, timeRange = c(0, 3), uniqueStart = TRUE, uniqueEnd = FALSE,
states = c("1", "2"), visit = array(c(4, 4), dimnames = list(c("1", "2")))
)
expect_equal(out, expectedOut)
})
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.