Nothing
test_that("test omega", {
.o <- function(omega, eq="no", len=0, reset=TRUE, unintFixed=TRUE) {
withr::with_options(list(lotri.plusNames=TRUE), {
.Call(`_nonmem2rx_setRecord`, "$OMEGA")
if (reset) {
.clearNonmem2rx()
.Call(`_nonmem2rx_omeganum_reset`)
}
lapply(omega, function(o) {
.Call(`_nonmem2rx_trans_omega`, o, "eta", as.integer(unintFixed))
})
expect_equal(.nonmem2rx$ini, eq)
expect_length(.nonmem2rx$etaLabel, len)
expect_length(.nonmem2rx$etaComment, len)
expect_length(.nonmem2rx$etaNonmemLabel, len)
})
}
.o("1", "eta1 ~ 1", 1)
.o("(1 fix)", "eta1 ~ fix(1)", 1)
.o("(fix 1)", "eta1 ~ fix(1)", 1)
.o(c("BLOCK(3) 6. .005 .3 .0002 .006 .4 fix",
"BLOCK(3) 6. .005 .3 .0002 .006 .4",
"BLOCK SAME",
"BLOCK(2) 6. .005 .3",
"BLOCK SAME",
"BLOCK(2) SAME"),
c("eta1 + eta2 + eta3 ~ fix(6., .005, .3, .0002, .006, .4)",
"eta4 + eta5 + eta6 ~ c(6., .005, .3, .0002, .006, .4)",
"eta7 + eta8 + eta9 ~ fix(6., .005, .3, .0002, .006, .4)",
"eta10 + eta11 ~ c(6., .005, .3)",
"eta12 + eta13 ~ fix(6., .005, .3)",
"eta14 + eta15 ~ fix(6., .005, .3)"),
15)
expect_error(.o(c("BLOCK(3) 6. .005 .3 .0002 .006 .4 fix",
"BLOCK(3) 6. .005 .3 .0002 .006 .4",
"BLOCK SAME",
"BLOCK(2) 6. .005 .3",
"BLOCK SAME",
"BLOCK(2) SAME",
"BLOCK(3) SAME"),
c("eta1 + eta2 + eta3 ~ fix(6., .005, .3, .0002, .006, .4)",
"eta4 + eta5 + eta6 ~ c(6., .005, .3, .0002, .006, .4)",
"eta7 + eta8 + eta9 ~ fix(6., .005, .3, .0002, .006, .4)",
"eta10 + eta11 ~ c(6., .005, .3)",
"eta12 + eta13 ~ fix(6., .005, .3)",
"eta14 + eta15 ~ fix(6., .005, .3)",
""),
15), "BLOCK")
expect_error(.o("BLOCK SAME"))
expect_error(.o("BLOCK(3) 6. .005 .3 .0002 .006 (.4)"))
expect_error(.o("BLOCK(3) 6. .005 .3 .0002 .006"))
expect_error(.o("BLOCK(3) 6. .005 .3 .0002 .006 .4 .4"))
expect_error(.o("BLOCK(3) 6. .005 .3 .0002 .006 (fix .4)"))
expect_warning(.o("DIAGONAL(1) 1", "eta1 ~ 1", 1))
.o(" BLOCK(6)\n 0.1\n0.01 0.1\n(0.01)x2 0.1\n(0.01)x3 0.1\n(0.01)x4 0.1\n(0.01)x5 0.1",
"eta1 + eta2 + eta3 + eta4 + eta5 + eta6 ~ c(0.1, 0.01, 0.1, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.01, 0.01, 0.1)", 6)
.o("(0.01)x3 0.1",c("eta1 ~ 0.01", "eta2 ~ 0.01", "eta3 ~ 0.01", "eta4 ~ 0.1"), 4)
.o("(0.01 FIX)x3 0.1",c("eta1 ~ fix(0.01)", "eta2 ~ fix(0.01)", "eta3 ~ fix(0.01)", "eta4 ~ 0.1"), 4)
.o("(FIX 0.01)x3 0.1",c("eta1 ~ fix(0.01)", "eta2 ~ fix(0.01)", "eta3 ~ fix(0.01)", "eta4 ~ 0.1"), 4)
.o("BLOCK(2) 6. .005 .3",
"eta1 + eta2 ~ c(6., .005, .3)", 2)
.o(c("BLOCK(2) 6. .005 .3",
"BLOCK SAME(2)"),
c("eta1 + eta2 ~ c(6., .005, .3)",
"eta3 + eta4 ~ fix(6., .005, .3)",
"eta5 + eta6 ~ fix(6., .005, .3)"), 6)
.o(c("BLOCK(2) 6. .005 .3",
"BLOCK SAME(2)",
"BLOCK(2) SAME(3)"),
c("eta1 + eta2 ~ c(6., .005, .3)",
"eta3 + eta4 ~ fix(6., .005, .3)",
"eta5 + eta6 ~ fix(6., .005, .3)",
"eta7 + eta8 ~ fix(6., .005, .3)",
"eta9 + eta10 ~ fix(6., .005, .3)",
"eta11 + eta12 ~ fix(6., .005, .3)"), 12)
.o("BLOCK(3) FIXED VALUES(0.09,0.0)",
c("eta1 ~ fix(0.09)",
"eta2 ~ fix(0.09)",
"eta3 ~ fix(0.09)"), 3)
.o("BLOCK(3) FIXED VALUES(0.09,0.0001)",
"eta1 + eta2 + eta3 ~ fix(0.09, 1e-04, 0.09, 1e-04, 1e-04, 0.09)",
3)
.o("BLOCK(3) VALUES(0.09,0.0) FIXED",
c("eta1 ~ fix(0.09)",
"eta2 ~ fix(0.09)",
"eta3 ~ fix(0.09)"), 3)
.o("BLOCK(3) VALUES(0.09,0.0001) FIXED",
"eta1 + eta2 + eta3 ~ fix(0.09, 1e-04, 0.09, 1e-04, 1e-04, 0.09)",
3)
.o("BLOCK(6) VALUES(0.1,0.01)",
"eta1 + eta2 + eta3 + eta4 + eta5 + eta6 ~ c(0.1, 0.01, 0.1, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.01, 0.01, 0.1)", 6)
.o(c("BLOCK(6) VALUES(0.1,0.01)",
"0.02"),
c("eta1 + eta2 + eta3 + eta4 + eta5 + eta6 ~ c(0.1, 0.01, 0.1, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.01, 0.1, 0.01, 0.01, 0.01, 0.01, 0.01, 0.1)",
"eta7 ~ 0.02"), 7)
# can be anywhere (at least in this parser)
.o("BLOCK(4)\n ECL= 0.3\n 0.01 EV1=0.35\nEQ= 0.01 0.01 0.54\nEV2= 0.01 0.01 0.01 0.67",
"eta1 + eta2 + eta3 + eta4 ~ c(0.3, 0.01, 0.35, 0.01, 0.01, 0.54, 0.01, 0.01, 0.01, 0.67)", 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "EV1", "EQ", "EV2"))
# can be anywhere (at least in this parser)
expect_warning(.o("BLOCK(4)\n ECL= 0.3\n EVD=0.01 EV1=0.35\nEQ= 0.01 0.01 0.54\nEV2= 0.01 0.01 0.01 0.67",
"eta1 + eta2 + eta3 + eta4 ~ c(0.3, 0.01, 0.35, 0.01, 0.01, 0.54, 0.01, 0.01, 0.01, 0.67)", 4),
"'EVD' was changed to 'EV1'")
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "EV1", "EQ", "EV2"))
.o("BLOCK(4)\n ECL= 0.3\nEV1= 0.01 0.35\nEQ= 0.01 0.01 0.54\nEV2= 0.01 0.01 0.01 0.67",
"eta1 + eta2 + eta3 + eta4 ~ c(0.3, 0.01, 0.35, 0.01, 0.01, 0.54, 0.01, 0.01, 0.01, 0.67)", 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "EV1", "EQ", "EV2"))
.o("BLOCK(4)\n ECL= 0.3\nEV1= 0.01 0.35\nEQ= (0.01)x2 0.54\nEV2= (0.01)x3 0.67",
"eta1 + eta2 + eta3 + eta4 ~ c(0.3, 0.01, 0.35, 0.01, 0.01, 0.54, 0.01, 0.01, 0.01, 0.67)", 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "EV1", "EQ", "EV2"))
.o("BLOCK(4)\n ECL= 0.3\n0.01 0.35\nEQ= (0.01)x2 0.54\nEV2= (0.01)x3 0.67",
"eta1 + eta2 + eta3 + eta4 ~ c(0.3, 0.01, 0.35, 0.01, 0.01, 0.54, 0.01, 0.01, 0.01, 0.67)", 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "", "EQ", "EV2"))
.o("V1=(0.01)x3 0.1",c("eta1 ~ 0.01", "eta2 ~ 0.01", "eta3 ~ 0.01", "eta4 ~ 0.1"), 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("V1", "", "", ""))
.o("BLOCK(3) KA=6 .005 UNNECESSARILYLONGK=.0002 .3 .006 UNNECESSARILYLONGCL=4",
"eta1 + eta2 + eta3 ~ c(6, .005, .0002, .3, .006, 4)", 3)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("KA", "UNNECESSARILYLONGK", "UNNECESSARILYLONGCL"))
.o("ECL= 0.3\nEV1= 0.35\nEQ= 0.54\nEV2= 0.67",
c("eta1 ~ 0.3", "eta2 ~ 0.35", "eta3 ~ 0.54", "eta4 ~ 0.67"), 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "EV1", "EQ", "EV2"))
.o("BLOCK(4)\n ECL= 0.3\nEV1= 0.01 0.35\nEQ= (0.01)x2 0.54\nEV2= (0.01)x4",
"eta1 + eta2 + eta3 + eta4 ~ c(0.3, 0.01, 0.35, 0.01, 0.01, 0.54, 0.01, 0.01, 0.01, 0.01)", 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL", "EV1", "EQ", "EV2"))
.o("BLOCK(4) NAMES(ECL2,EV12,EQ2,EV22) VALUES(0.03,0.01)",
"eta1 + eta2 + eta3 + eta4 ~ c(0.03, 0.01, 0.03, 0.01, 0.01, 0.03, 0.01, 0.01, 0.01, 0.03)", 4)
.o("BLOCK(4) FIXED NAMES(ECL2,EV12,EQ2,EV22) VALUES(0.03,0.01)",
"eta1 + eta2 + eta3 + eta4 ~ fix(0.03, 0.01, 0.03, 0.01, 0.01, 0.03, 0.01, 0.01, 0.01, 0.03)", 4)
.o("BLOCK(4) NAMES(ECL2,EV12,EQ2,EV22) FIXED VALUES(0.03,0.01)",
"eta1 + eta2 + eta3 + eta4 ~ fix(0.03, 0.01, 0.03, 0.01, 0.01, 0.03, 0.01, 0.01, 0.01, 0.03)", 4)
.o("BLOCK(4) NAMES(ECL2,EV12,EQ2,EV22) VALUES(0.03,0.01) FIXED",
"eta1 + eta2 + eta3 + eta4 ~ fix(0.03, 0.01, 0.03, 0.01, 0.01, 0.03, 0.01, 0.01, 0.01, 0.03)", 4)
.o("BLOCK(4) NAMES(ECL2,EV12,EQ2,EV22) VALUES(0.03,0) FIXED",
c("eta1 ~ fix(0.03)",
"eta2 ~ fix(0.03)",
"eta3 ~ fix(0.03)",
"eta4 ~ fix(0.03)"), 4)
expect_equal(.nonmem2rx$etaNonmemLabel,
c("ECL2", "EV12", "EQ2", "EV22"))
.o("(1 UNINT)", "eta1 ~ fix(1)", 1)
.o("(1 UNINT)", "eta1 ~ fix(1)", 1)
.o("BLOCK(2) UNINT 0.1\n0.01 0.1",
"eta1 + eta2 ~ fix(0.1, 0.01, 0.1)", 2)
.o("(UNINT 1)", "eta1 ~ 1", 1, unintFixed=FALSE)
.o("(1 UNINT)", "eta1 ~ 1", 1, unintFixed=FALSE)
.o("(1 UNINT)", "eta1 ~ 1", 1, unintFixed=FALSE)
.o("BLOCK(2) UNINT 0.1\n0.01 0.1",
"eta1 + eta2 ~ c(0.1, 0.01, 0.1)", 2, unintFixed=FALSE)
.o("(UNINT 1)", "eta1 ~ 1", 1, , unintFixed=FALSE)
expect_warning(expect_warning(.o("(0, 1) (0, 2, 3)", c("eta1 ~ 1", "eta2 ~ 2"), 2), "ignored"), "ignored")
expect_error(.o("garbage"))
})
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.