File: test-simulate_model.R

package info (click to toggle)
r-cran-parameters 0.24.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,852 kB
  • sloc: sh: 16; makefile: 2
file content (61 lines) | stat: -rw-r--r-- 1,806 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
skip_on_os(c("mac", "linux", "solaris"))
skip_if_not(getRversion() >= "4.0.0")
skip_if_not_installed("sandwich")


mod <- lm(mpg ~ wt + cyl, data = mtcars)

test_that("simulate_model, lm", {
  set.seed(123)
  s1 <- simulate_model(mod, iterations = 100)
  set.seed(123)
  s2 <- simulate_model(mod, iterations = 100, vcov = "HC1")
  expect_identical(dim(s1), c(100L, 3L))
  expect_identical(dim(s2), c(100L, 3L))
  expect_false(isTRUE(all.equal(head(s1$wt), head(s2$wt), tolerance = 1e-5)))
  expect_false(isTRUE(all.equal(mean(s1$cyl), mean(s2$cyl), tolerance = 1e-5)))
})

skip_on_cran()

skip_if_not_installed("glmmTMB")

data(fish)
mod <- suppressWarnings(glmmTMB::glmmTMB(
  count ~ child + camper + (1 | persons),
  ziformula = ~ child + camper + (1 | persons),
  data = fish,
  family = glmmTMB::truncated_poisson()
))

test_that("simulate_model, glmmTMB", {
  set.seed(123)
  s <- simulate_model(mod, iterations = 100)
  expect_identical(dim(s), c(100L, 6L))
  expect_identical(
    colnames(s),
    c(
      "(Intercept)", "child", "camper1", "(Intercept)_zi", "child_zi",
      "camper1_zi"
    )
  )
  expect_equal(
    head(s$child),
    c(-1.21946, -1.23724, -1.10968, -1.14867, -1.04882, -1.11192),
    tolerance = 1e-2
  )
  expect_equal(mean(s$camper1), 0.717259, tolerance = 1e-1)
})

test_that("simulate_model, glmmTMB, conditional only", {
  set.seed(123)
  s <- simulate_model(mod, component = "conditional", iterations = 100)
  expect_identical(dim(s), c(100L, 3L))
  expect_identical(colnames(s), c("(Intercept)", "child", "camper1"))
  expect_equal(
    head(s$child),
    c(-1.21946, -1.23724, -1.10968, -1.14867, -1.04882, -1.11192),
    tolerance = 1e-2
  )
  expect_equal(mean(s$camper1), 0.717259, tolerance = 1e-1)
})