Last updated on 2023-03-30 06:53:08 CEST.
Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
---|---|---|---|---|---|---|
r-devel-linux-x86_64-debian-clang | 0.1.0 | 0.93 | 2.09 | 3.02 | ERROR | |
r-devel-linux-x86_64-debian-gcc | 0.1.0 | 43.30 | 101.20 | 144.50 | ERROR | |
r-devel-linux-x86_64-fedora-clang | 0.1.0 | 275.30 | ERROR | |||
r-devel-linux-x86_64-fedora-gcc | 0.1.0 | 260.95 | ERROR | |||
r-devel-windows-x86_64 | 0.1.0 | 59.00 | 13.00 | 72.00 | ERROR | |
r-patched-linux-x86_64 | 0.1.0 | 44.23 | 126.75 | 170.98 | ERROR | |
r-release-linux-x86_64 | 0.1.0 | 0.73 | 3.26 | 3.99 | ERROR | |
r-release-macos-arm64 | 0.1.0 | 99.00 | NOTE | |||
r-release-macos-x86_64 | 0.1.0 | 152.00 | NOTE | |||
r-release-windows-x86_64 | 0.1.0 | 52.00 | 10.00 | 62.00 | ERROR | |
r-oldrel-macos-arm64 | 0.1.0 | 92.00 | NOTE | |||
r-oldrel-macos-x86_64 | 0.1.0 | 158.00 | NOTE | |||
r-oldrel-windows-ix86+x86_64 | 0.1.0 | 72.00 | 375.00 | 447.00 | NOTE |
Version: 0.1.0
Check: package dependencies
Result: ERROR
Packages required but not available: 'nlmixr2', 'nlmixr2est', 'rxode2'
Package suggested but not available for checking: ‘lixoftConnectors’
See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’
manual.
Flavors: r-devel-linux-x86_64-debian-clang, r-release-linux-x86_64
Version: 0.1.0
Check: package dependencies
Result: NOTE
Package suggested but not available for checking: ‘lixoftConnectors’
Flavors: r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-ix86+x86_64
Version: 0.1.0
Check: C++ specification
Result: NOTE
Specified C++14: please drop specification unless essential
Flavors: r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-patched-linux-x86_64
Version: 0.1.0
Check: examples
Result: ERROR
Running examples in ‘babelmixr2-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: bblDatToMonolix
> ### Title: Convert nlmixr2-compatible data to other formats (if possible)
> ### Aliases: bblDatToMonolix bblDatToNonmem bblDatToRxode bblDatToMrgsolve
> ### bblDatToPknca
>
> ### ** Examples
>
>
> pk.turnover.emax3 <- function() {
+ ini({
+ tktr <- log(1)
+ tka <- log(1)
+ tcl <- log(0.1)
+ tv <- log(10)
+ ##
+ eta.ktr ~ 1
+ eta.ka ~ 1
+ eta.cl ~ 2
+ eta.v ~ 1
+ prop.err <- 0.1
+ pkadd.err <- 0.1
+ ##
+ temax <- logit(0.8)
+ tec50 <- log(0.5)
+ tkout <- log(0.05)
+ te0 <- log(100)
+ ##
+ eta.emax ~ .5
+ eta.ec50 ~ .5
+ eta.kout ~ .5
+ eta.e0 ~ .5
+ ##
+ pdadd.err <- 10
+ })
+ model({
+ ktr <- exp(tktr + eta.ktr)
+ ka <- exp(tka + eta.ka)
+ cl <- exp(tcl + eta.cl)
+ v <- exp(tv + eta.v)
+ emax = expit(temax+eta.emax)
+ ec50 = exp(tec50 + eta.ec50)
+ kout = exp(tkout + eta.kout)
+ e0 = exp(te0 + eta.e0)
+ ##
+ DCP = center/v
+ PD=1-emax*DCP/(ec50+DCP)
+ ##
+ effect(0) = e0
+ kin = e0*kout
+ ##
+ d/dt(depot) = -ktr * depot
+ d/dt(gut) = ktr * depot -ka * gut
+ d/dt(center) = ka * gut - cl / v * center
+ d/dt(effect) = kin*PD -kout*effect
+ ##
+ cp = center / v
+ cp ~ prop(prop.err) + add(pkadd.err)
+ effect ~ add(pdadd.err) | pca
+ })
+ }
>
> bblDatToMonolix(pk.turnover.emax3, nlmixr2data::warfarin)
ℹ parameter labels from comments are typically ignored in non-interactive mode
ℹ Need to run with the source intact to parse comments
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Calls: bblDatToMonolix ... as.data.frame -> as.data.frame.list -> do.call -> <Anonymous>
Execution halted
Flavors: r-devel-linux-x86_64-debian-gcc, r-patched-linux-x86_64
Version: 0.1.0
Check: tests
Result: ERROR
Running ‘spelling.R’ [0s/1s]
Running ‘testthat.R’ [15s/24s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(babelmixr2)
Loading required package: nlmixr2
Loading required package: nlmixr2data
>
> test_check("babelmixr2")
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i change initial estimate of `prop.err` to `15`
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-convert.R:27:3'): nonmem amt=0 evid=1 conversion test ──────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. └─babelmixr2::bblDatToNonmem(one.compartment, et) at test-convert.R:27:2
2. └─babelmixr2:::.bblDatToNonmem(...)
3. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
4. └─base::cbind(as.data.frame(.et), .keepL)
5. └─base::cbind(deparse.level, ...)
6. └─base::data.frame(..., check.names = FALSE)
7. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
8. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
9. ├─base::do.call(data.frame, c(x, alis))
10. └─base (local) `<fn>`(...)
11. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
12. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. ├─base::do.call(data.frame, c(x, alis))
14. └─base (local) `<fn>`(...)
15. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
16. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. ├─base::do.call(data.frame, c(x, alis))
18. └─base (local) `<fn>`(...)
── Error ('test-convert.R:59:3'): pknca conversion keeps extra columns ─────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-convert.R:59:2
2. │ └─base::withCallingHandlers(...)
3. └─babelmixr2::bblDatToPknca(one.compartment, et)
4. └─babelmixr2:::.bblDatToNonmem(...)
5. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
6. └─base::cbind(as.data.frame(.et), .keepL)
7. └─base::cbind(deparse.level, ...)
8. └─base::data.frame(..., check.names = FALSE)
9. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
10. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
11. ├─base::do.call(data.frame, c(x, alis))
12. └─base (local) `<fn>`(...)
13. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
15. ├─base::do.call(data.frame, c(x, alis))
16. └─base (local) `<fn>`(...)
17. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
19. ├─base::do.call(data.frame, c(x, alis))
20. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:58:5'): test monolix reading for 2019, 2020, and 2021 ──
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:58:4
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:60:6
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:147:3'): test more nlmixr2/monolix features ─────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:147:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:149:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:180:3'): test Monolix pheno ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:180:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "monolix", control = monolixControl(modelName = "pheno")) at test-monolix-read.R:182:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-monolix-read.R:290:3'): pbpk mavoglurant ─────────────────────
`bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─testthat::expect_error(...) at test-monolix-read.R:290:2
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. └─babelmixr2::bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)
8. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
9. └─base::cbind(as.data.frame(.et), .keepL)
10. └─base::cbind(deparse.level, ...)
11. └─base::data.frame(..., check.names = FALSE)
12. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. ├─base::do.call(data.frame, c(x, alis))
15. └─base (local) `<fn>`(...)
16. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. ├─base::do.call(data.frame, c(x, alis))
19. └─base (local) `<fn>`(...)
20. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
21. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
22. ├─base::do.call(data.frame, c(x, alis))
23. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:294:3'): pbpk mavoglurant ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:294:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pbpk, nlmixr2data::mavoglurant, "monolix", control = monolixControl(modelName = "pbpk")) at test-monolix-read.R:296:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:358:3'): nimo test ──────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:358:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:360:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(nimo, tmp, "monolix", control = monolixControl(modelName = "nimo"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:429:3'): Monolix wbc ────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:429:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:432:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(wbc, nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "wbc"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:464:3'): Monolix wbc test 2 ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:464:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─wbc %>% ini(prop.err = 15) %>% ... at test-monolix-read.R:467:4
5. └─nlmixr2::nlmixr2(., nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "x"))
6. ├─nlmixr2est::nlmixr2(...)
7. └─nlmixr2est:::nlmixr2.rxUi(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-nonmem-pred.R:24:3'): nonmem $pred model ─────────────────────
`nlmixr(ipredWang2007, dat, "nonmem")` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-pred.R:24:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─testthat::expect_error(...) at test-nonmem-pred.R:26:4
5. │ └─testthat:::expect_condition_matching(...)
6. │ └─testthat:::quasi_capture(...)
7. │ ├─testthat (local) .capture(...)
8. │ │ └─base::withCallingHandlers(...)
9. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
10. ├─nlmixr2est::nlmixr(ipredWang2007, dat, "nonmem")
11. └─nlmixr2est:::nlmixr2.function(ipredWang2007, dat, "nonmem")
12. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:59:3'): warfarin NONMEM reading ──────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:59:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2est::nlmixr(...) at test-nonmem-read.R:69:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:126:3'): pheno NONMEM reading ────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:126:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "nonmem", control = nonmemControl(modelName = "pheno")) at test-nonmem-read.R:128:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:195:3'): wbc NONMEM reading ──────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:195:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. └─nlmixr2::nlmixr2(...) at test-nonmem-read.R:202:4
5. ├─nlmixr2est::nlmixr2(...)
6. └─nlmixr2est:::nlmixr2.function(...)
7. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem.R:148:7'): NONMEM dsl, full model ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─testthat::expect_message(...) at test-nonmem.R:148:6
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. ├─nlmixr2est::nlmixr(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:20:3'): est='pknca' ────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:20:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:144:3'): dvParam ───────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:144:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
Error: Test failures
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 0.1.0
Check: examples
Result: ERROR
Running examples in ‘babelmixr2-Ex.R’ failed
The error most likely occurred in:
> ### Name: bblDatToMonolix
> ### Title: Convert nlmixr2-compatible data to other formats (if possible)
> ### Aliases: bblDatToMonolix bblDatToNonmem bblDatToRxode bblDatToMrgsolve
> ### bblDatToPknca
>
> ### ** Examples
>
>
> pk.turnover.emax3 <- function() {
+ ini({
+ tktr <- log(1)
+ tka <- log(1)
+ tcl <- log(0.1)
+ tv <- log(10)
+ ##
+ eta.ktr ~ 1
+ eta.ka ~ 1
+ eta.cl ~ 2
+ eta.v ~ 1
+ prop.err <- 0.1
+ pkadd.err <- 0.1
+ ##
+ temax <- logit(0.8)
+ tec50 <- log(0.5)
+ tkout <- log(0.05)
+ te0 <- log(100)
+ ##
+ eta.emax ~ .5
+ eta.ec50 ~ .5
+ eta.kout ~ .5
+ eta.e0 ~ .5
+ ##
+ pdadd.err <- 10
+ })
+ model({
+ ktr <- exp(tktr + eta.ktr)
+ ka <- exp(tka + eta.ka)
+ cl <- exp(tcl + eta.cl)
+ v <- exp(tv + eta.v)
+ emax = expit(temax+eta.emax)
+ ec50 = exp(tec50 + eta.ec50)
+ kout = exp(tkout + eta.kout)
+ e0 = exp(te0 + eta.e0)
+ ##
+ DCP = center/v
+ PD=1-emax*DCP/(ec50+DCP)
+ ##
+ effect(0) = e0
+ kin = e0*kout
+ ##
+ d/dt(depot) = -ktr * depot
+ d/dt(gut) = ktr * depot -ka * gut
+ d/dt(center) = ka * gut - cl / v * center
+ d/dt(effect) = kin*PD -kout*effect
+ ##
+ cp = center / v
+ cp ~ prop(prop.err) + add(pkadd.err)
+ effect ~ add(pdadd.err) | pca
+ })
+ }
>
> bblDatToMonolix(pk.turnover.emax3, nlmixr2data::warfarin)
ℹ parameter labels from comments are typically ignored in non-interactive mode
ℹ Need to run with the source intact to parse comments
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Calls: bblDatToMonolix ... as.data.frame -> as.data.frame.list -> do.call -> <Anonymous>
Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
Version: 0.1.0
Check: tests
Result: ERROR
Running ‘spelling.R’
Running ‘testthat.R’ [26s/94s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(babelmixr2)
Loading required package: nlmixr2
Loading required package: nlmixr2data
>
> test_check("babelmixr2")
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i change initial estimate of `prop.err` to `15`
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-convert.R:27:3'): nonmem amt=0 evid=1 conversion test ──────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. └─babelmixr2::bblDatToNonmem(one.compartment, et) at test-convert.R:27:2
2. └─babelmixr2:::.bblDatToNonmem(...)
3. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
4. └─base::cbind(as.data.frame(.et), .keepL)
5. └─base::cbind(deparse.level, ...)
6. └─base::data.frame(..., check.names = FALSE)
7. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
8. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
9. ├─base::do.call(data.frame, c(x, alis))
10. └─base (local) `<fn>`(...)
11. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
12. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. ├─base::do.call(data.frame, c(x, alis))
14. └─base (local) `<fn>`(...)
15. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
16. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. ├─base::do.call(data.frame, c(x, alis))
18. └─base (local) `<fn>`(...)
── Error ('test-convert.R:59:3'): pknca conversion keeps extra columns ─────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-convert.R:59:2
2. │ └─base::withCallingHandlers(...)
3. └─babelmixr2::bblDatToPknca(one.compartment, et)
4. └─babelmixr2:::.bblDatToNonmem(...)
5. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
6. └─base::cbind(as.data.frame(.et), .keepL)
7. └─base::cbind(deparse.level, ...)
8. └─base::data.frame(..., check.names = FALSE)
9. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
10. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
11. ├─base::do.call(data.frame, c(x, alis))
12. └─base (local) `<fn>`(...)
13. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
15. ├─base::do.call(data.frame, c(x, alis))
16. └─base (local) `<fn>`(...)
17. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
19. ├─base::do.call(data.frame, c(x, alis))
20. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:58:5'): test monolix reading for 2019, 2020, and 2021 ──
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:58:4
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:60:6
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:147:3'): test more nlmixr2/monolix features ─────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:147:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:149:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:180:3'): test Monolix pheno ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:180:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "monolix", control = monolixControl(modelName = "pheno")) at test-monolix-read.R:182:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-monolix-read.R:290:3'): pbpk mavoglurant ─────────────────────
`bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─testthat::expect_error(...) at test-monolix-read.R:290:2
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. └─babelmixr2::bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)
8. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
9. └─base::cbind(as.data.frame(.et), .keepL)
10. └─base::cbind(deparse.level, ...)
11. └─base::data.frame(..., check.names = FALSE)
12. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. ├─base::do.call(data.frame, c(x, alis))
15. └─base (local) `<fn>`(...)
16. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. ├─base::do.call(data.frame, c(x, alis))
19. └─base (local) `<fn>`(...)
20. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
21. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
22. ├─base::do.call(data.frame, c(x, alis))
23. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:294:3'): pbpk mavoglurant ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:294:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pbpk, nlmixr2data::mavoglurant, "monolix", control = monolixControl(modelName = "pbpk")) at test-monolix-read.R:296:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:358:3'): nimo test ──────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:358:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:360:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(nimo, tmp, "monolix", control = monolixControl(modelName = "nimo"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:429:3'): Monolix wbc ────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:429:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:432:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(wbc, nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "wbc"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:464:3'): Monolix wbc test 2 ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:464:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─wbc %>% ini(prop.err = 15) %>% ... at test-monolix-read.R:467:4
5. └─nlmixr2::nlmixr2(., nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "x"))
6. ├─nlmixr2est::nlmixr2(...)
7. └─nlmixr2est:::nlmixr2.rxUi(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-nonmem-pred.R:24:3'): nonmem $pred model ─────────────────────
`nlmixr(ipredWang2007, dat, "nonmem")` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-pred.R:24:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─testthat::expect_error(...) at test-nonmem-pred.R:26:4
5. │ └─testthat:::expect_condition_matching(...)
6. │ └─testthat:::quasi_capture(...)
7. │ ├─testthat (local) .capture(...)
8. │ │ └─base::withCallingHandlers(...)
9. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
10. ├─nlmixr2est::nlmixr(ipredWang2007, dat, "nonmem")
11. └─nlmixr2est:::nlmixr2.function(ipredWang2007, dat, "nonmem")
12. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:59:3'): warfarin NONMEM reading ──────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:59:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2est::nlmixr(...) at test-nonmem-read.R:69:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:126:3'): pheno NONMEM reading ────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:126:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "nonmem", control = nonmemControl(modelName = "pheno")) at test-nonmem-read.R:128:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:195:3'): wbc NONMEM reading ──────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:195:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. └─nlmixr2::nlmixr2(...) at test-nonmem-read.R:202:4
5. ├─nlmixr2est::nlmixr2(...)
6. └─nlmixr2est:::nlmixr2.function(...)
7. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem.R:148:7'): NONMEM dsl, full model ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─testthat::expect_message(...) at test-nonmem.R:148:6
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. ├─nlmixr2est::nlmixr(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:20:3'): est='pknca' ────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:20:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:144:3'): dvParam ───────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:144:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
Error: Test failures
Execution halted
Flavor: r-devel-linux-x86_64-fedora-clang
Version: 0.1.0
Check: tests
Result: ERROR
Running ‘spelling.R’
Running ‘testthat.R’ [25s/93s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(babelmixr2)
Loading required package: nlmixr2
Loading required package: nlmixr2data
>
> test_check("babelmixr2")
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i change initial estimate of `prop.err` to `15`
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-convert.R:27:3'): nonmem amt=0 evid=1 conversion test ──────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. └─babelmixr2::bblDatToNonmem(one.compartment, et) at test-convert.R:27:2
2. └─babelmixr2:::.bblDatToNonmem(...)
3. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
4. └─base::cbind(as.data.frame(.et), .keepL)
5. └─base::cbind(deparse.level, ...)
6. └─base::data.frame(..., check.names = FALSE)
7. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
8. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
9. ├─base::do.call(data.frame, c(x, alis))
10. └─base (local) `<fn>`(...)
11. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
12. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. ├─base::do.call(data.frame, c(x, alis))
14. └─base (local) `<fn>`(...)
15. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
16. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. ├─base::do.call(data.frame, c(x, alis))
18. └─base (local) `<fn>`(...)
── Error ('test-convert.R:59:3'): pknca conversion keeps extra columns ─────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-convert.R:59:2
2. │ └─base::withCallingHandlers(...)
3. └─babelmixr2::bblDatToPknca(one.compartment, et)
4. └─babelmixr2:::.bblDatToNonmem(...)
5. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
6. └─base::cbind(as.data.frame(.et), .keepL)
7. └─base::cbind(deparse.level, ...)
8. └─base::data.frame(..., check.names = FALSE)
9. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
10. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
11. ├─base::do.call(data.frame, c(x, alis))
12. └─base (local) `<fn>`(...)
13. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
15. ├─base::do.call(data.frame, c(x, alis))
16. └─base (local) `<fn>`(...)
17. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
19. ├─base::do.call(data.frame, c(x, alis))
20. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:58:5'): test monolix reading for 2019, 2020, and 2021 ──
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:58:4
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:60:6
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:147:3'): test more nlmixr2/monolix features ─────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:147:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:149:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:180:3'): test Monolix pheno ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:180:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "monolix", control = monolixControl(modelName = "pheno")) at test-monolix-read.R:182:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-monolix-read.R:290:3'): pbpk mavoglurant ─────────────────────
`bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─testthat::expect_error(...) at test-monolix-read.R:290:2
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. └─babelmixr2::bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)
8. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
9. └─base::cbind(as.data.frame(.et), .keepL)
10. └─base::cbind(deparse.level, ...)
11. └─base::data.frame(..., check.names = FALSE)
12. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. ├─base::do.call(data.frame, c(x, alis))
15. └─base (local) `<fn>`(...)
16. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. ├─base::do.call(data.frame, c(x, alis))
19. └─base (local) `<fn>`(...)
20. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
21. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
22. ├─base::do.call(data.frame, c(x, alis))
23. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:294:3'): pbpk mavoglurant ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:294:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pbpk, nlmixr2data::mavoglurant, "monolix", control = monolixControl(modelName = "pbpk")) at test-monolix-read.R:296:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:358:3'): nimo test ──────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:358:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:360:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(nimo, tmp, "monolix", control = monolixControl(modelName = "nimo"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:429:3'): Monolix wbc ────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:429:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:432:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(wbc, nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "wbc"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:464:3'): Monolix wbc test 2 ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:464:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─wbc %>% ini(prop.err = 15) %>% ... at test-monolix-read.R:467:4
5. └─nlmixr2::nlmixr2(., nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "x"))
6. ├─nlmixr2est::nlmixr2(...)
7. └─nlmixr2est:::nlmixr2.rxUi(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-nonmem-pred.R:24:3'): nonmem $pred model ─────────────────────
`nlmixr(ipredWang2007, dat, "nonmem")` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-pred.R:24:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─testthat::expect_error(...) at test-nonmem-pred.R:26:4
5. │ └─testthat:::expect_condition_matching(...)
6. │ └─testthat:::quasi_capture(...)
7. │ ├─testthat (local) .capture(...)
8. │ │ └─base::withCallingHandlers(...)
9. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
10. ├─nlmixr2est::nlmixr(ipredWang2007, dat, "nonmem")
11. └─nlmixr2est:::nlmixr2.function(ipredWang2007, dat, "nonmem")
12. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:59:3'): warfarin NONMEM reading ──────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:59:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2est::nlmixr(...) at test-nonmem-read.R:69:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:126:3'): pheno NONMEM reading ────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:126:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "nonmem", control = nonmemControl(modelName = "pheno")) at test-nonmem-read.R:128:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:195:3'): wbc NONMEM reading ──────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:195:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. └─nlmixr2::nlmixr2(...) at test-nonmem-read.R:202:4
5. ├─nlmixr2est::nlmixr2(...)
6. └─nlmixr2est:::nlmixr2.function(...)
7. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem.R:148:7'): NONMEM dsl, full model ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─testthat::expect_message(...) at test-nonmem.R:148:6
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. ├─nlmixr2est::nlmixr(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:20:3'): est='pknca' ────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:20:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:144:3'): dvParam ───────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:144:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
Error: Test failures
Execution halted
Flavor: r-devel-linux-x86_64-fedora-gcc
Version: 0.1.0
Check: whether package can be installed
Result: ERROR
Installation failed.
Flavors: r-devel-windows-x86_64, r-release-windows-x86_64
Version: 0.1.0
Check: tests
Result: ERROR
Running ‘spelling.R’ [0s/0s]
Running ‘testthat.R’ [18s/22s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(babelmixr2)
Loading required package: nlmixr2
Loading required package: nlmixr2data
>
> test_check("babelmixr2")
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i change initial estimate of `prop.err` to `15`
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
i parameter labels from comments will be replaced by 'label()'
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-convert.R:27:3'): nonmem amt=0 evid=1 conversion test ──────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. └─babelmixr2::bblDatToNonmem(one.compartment, et) at test-convert.R:27:2
2. └─babelmixr2:::.bblDatToNonmem(...)
3. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
4. └─base::cbind(as.data.frame(.et), .keepL)
5. └─base::cbind(deparse.level, ...)
6. └─base::data.frame(..., check.names = FALSE)
7. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
8. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
9. ├─base::do.call(data.frame, c(x, alis))
10. └─base (local) `<fn>`(...)
11. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
12. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. ├─base::do.call(data.frame, c(x, alis))
14. └─base (local) `<fn>`(...)
15. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
16. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. ├─base::do.call(data.frame, c(x, alis))
18. └─base (local) `<fn>`(...)
── Error ('test-convert.R:59:3'): pknca conversion keeps extra columns ─────────
Error in `(function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
fix.empty.names = TRUE, stringsAsFactors = FALSE)
{
data.row.names <- if (check.rows && is.null(row.names))
function(current, new, i) {
if (is.character(current))
new <- as.character(new)
if (is.character(new))
current <- as.character(current)
if (anyDuplicated(new))
return(current)
if (is.null(current))
return(new)
if (all(current == new) || all(current == ""))
return(new)
stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d",
i), domain = NA)
}
else function(current, new, i) {
if (is.null(current)) {
if (anyDuplicated(new)) {
warning(gettextf("some row.names duplicated: %s --> row.names NOT used",
paste(which(duplicated(new)), collapse = ",")),
domain = NA)
current
}
else new
}
else current
}
object <- as.list(substitute(list(...)))[-1L]
mirn <- missing(row.names)
mrn <- is.null(row.names)
x <- list(...)
n <- length(x)
if (n < 1L) {
if (!mrn) {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
}
else row.names <- integer()
return(structure(list(), names = character(), row.names = row.names,
class = "data.frame"))
}
vnames <- names(x)
if (length(vnames) != n)
vnames <- character(n)
no.vn <- !nzchar(vnames)
vlist <- vnames <- as.list(vnames)
nrows <- ncols <- integer(n)
for (i in seq_len(n)) {
xi <- if (is.character(x[[i]]) || is.list(x[[i]]))
as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
else as.data.frame(x[[i]], optional = TRUE)
nrows[i] <- .row_names_info(xi)
ncols[i] <- length(xi)
namesi <- names(xi)
if (ncols[i] > 1L) {
if (length(namesi) == 0L)
namesi <- seq_len(ncols[i])
vnames[[i]] <- if (no.vn[i])
namesi
else paste(vnames[[i]], namesi, sep = ".")
}
else if (length(namesi)) {
vnames[[i]] <- namesi
}
else if (fix.empty.names && no.vn[[i]]) {
tmpname <- deparse(object[[i]], nlines = 1L)[1L]
if (startsWith(tmpname, "I(") && endsWith(tmpname,
")")) {
ntmpn <- nchar(tmpname, "c")
tmpname <- substr(tmpname, 3L, ntmpn - 1L)
}
vnames[[i]] <- tmpname
}
if (mirn && nrows[i] > 0L) {
rowsi <- attr(xi, "row.names")
if (any(nzchar(rowsi)))
row.names <- data.row.names(row.names, rowsi,
i)
}
nrows[i] <- abs(nrows[i])
vlist[[i]] <- xi
}
nr <- max(nrows)
for (i in seq_len(n)[nrows < nr]) {
xi <- vlist[[i]]
if (nrows[i] > 0L && (nr%%nrows[i] == 0L)) {
xi <- unclass(xi)
fixed <- TRUE
for (j in seq_along(xi)) {
xi1 <- xi[[j]]
if (is.vector(xi1) || is.factor(xi1))
xi[[j]] <- rep(xi1, length.out = nr)
else if (is.character(xi1) && inherits(xi1, "AsIs"))
xi[[j]] <- structure(rep(xi1, length.out = nr),
class = class(xi1))
else if (inherits(xi1, "Date") || inherits(xi1,
"POSIXct"))
xi[[j]] <- rep(xi1, length.out = nr)
else {
fixed <- FALSE
break
}
}
if (fixed) {
vlist[[i]] <- xi
next
}
}
stop(gettextf("arguments imply differing number of rows: %s",
paste(unique(nrows), collapse = ", ")), domain = NA)
}
value <- unlist(vlist, recursive = FALSE, use.names = FALSE)
vnames <- as.character(unlist(vnames[ncols > 0L]))
if (fix.empty.names && any(noname <- !nzchar(vnames)))
vnames[noname] <- paste0("Var.", seq_along(vnames))[noname]
if (check.names) {
if (fix.empty.names)
vnames <- make.names(vnames, unique = TRUE)
else {
nz <- nzchar(vnames)
vnames[nz] <- make.names(vnames[nz], unique = TRUE)
}
}
names(value) <- vnames
if (!mrn) {
if (length(row.names) == 1L && nr != 1L) {
if (is.character(row.names))
row.names <- match(row.names, vnames, 0L)
if (length(row.names) != 1L || row.names < 1L ||
row.names > length(vnames))
stop("'row.names' should specify one of the variables")
i <- row.names
row.names <- value[[i]]
value <- value[-i]
}
else if (!is.null(row.names) && length(row.names) !=
nr)
stop("row names supplied are of the wrong length")
}
else if (!is.null(row.names) && length(row.names) != nr) {
warning("row names were found from a short variable and have been discarded")
row.names <- NULL
}
class(value) <- "data.frame"
if (is.null(row.names))
attr(value, "row.names") <- .set_row_names(nr)
else {
if (is.object(row.names) || !is.integer(row.names))
row.names <- as.character(row.names)
if (anyNA(row.names))
stop("row names contain missing values")
if (anyDuplicated(row.names))
stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]),
collapse = ", ")), domain = NA)
row.names(value) <- row.names
}
value
})(3L, NULL, check.names = FALSE, fix.empty.names = TRUE, stringsAsFactors = FALSE)`: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-convert.R:59:2
2. │ └─base::withCallingHandlers(...)
3. └─babelmixr2::bblDatToPknca(one.compartment, et)
4. └─babelmixr2:::.bblDatToNonmem(...)
5. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
6. └─base::cbind(as.data.frame(.et), .keepL)
7. └─base::cbind(deparse.level, ...)
8. └─base::data.frame(..., check.names = FALSE)
9. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
10. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
11. ├─base::do.call(data.frame, c(x, alis))
12. └─base (local) `<fn>`(...)
13. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
15. ├─base::do.call(data.frame, c(x, alis))
16. └─base (local) `<fn>`(...)
17. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
19. ├─base::do.call(data.frame, c(x, alis))
20. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:58:5'): test monolix reading for 2019, 2020, and 2021 ──
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:58:4
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:60:6
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:147:3'): test more nlmixr2/monolix features ─────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:147:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(...) at test-monolix-read.R:149:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:180:3'): test Monolix pheno ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:180:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "monolix", control = monolixControl(modelName = "pheno")) at test-monolix-read.R:182:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-monolix-read.R:290:3'): pbpk mavoglurant ─────────────────────
`bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─testthat::expect_error(...) at test-monolix-read.R:290:2
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. └─babelmixr2::bblDatToMonolix(pbpk, nlmixr2data::mavoglurant)
8. └─nlmixr2est::.foceiPreProcessData(data, .env, model)
9. └─base::cbind(as.data.frame(.et), .keepL)
10. └─base::cbind(deparse.level, ...)
11. └─base::data.frame(..., check.names = FALSE)
12. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
13. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
14. ├─base::do.call(data.frame, c(x, alis))
15. └─base (local) `<fn>`(...)
16. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
17. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
18. ├─base::do.call(data.frame, c(x, alis))
19. └─base (local) `<fn>`(...)
20. ├─base::as.data.frame(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
21. └─base::as.data.frame.list(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors)
22. ├─base::do.call(data.frame, c(x, alis))
23. └─base (local) `<fn>`(...)
── Error ('test-monolix-read.R:294:3'): pbpk mavoglurant ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:294:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pbpk, nlmixr2data::mavoglurant, "monolix", control = monolixControl(modelName = "pbpk")) at test-monolix-read.R:296:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:358:3'): nimo test ──────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:358:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:360:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(nimo, tmp, "monolix", control = monolixControl(modelName = "nimo"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:429:3'): Monolix wbc ────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:429:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─base::suppressWarnings(...) at test-monolix-read.R:432:4
5. │ └─base::withCallingHandlers(...)
6. └─nlmixr2::nlmixr2(wbc, nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "wbc"))
7. ├─nlmixr2est::nlmixr2(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-monolix-read.R:464:3'): Monolix wbc test 2 ─────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-monolix-read.R:464:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─wbc %>% ini(prop.err = 15) %>% ... at test-monolix-read.R:467:4
5. └─nlmixr2::nlmixr2(., nlmixr2data::wbcSim, "monolix", control = monolixControl(modelName = "x"))
6. ├─nlmixr2est::nlmixr2(...)
7. └─nlmixr2est:::nlmixr2.rxUi(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Failure ('test-nonmem-pred.R:24:3'): nonmem $pred model ─────────────────────
`nlmixr(ipredWang2007, dat, "nonmem")` threw an unexpected error.
Message: arguments imply differing number of rows: 1, 0
Class: simpleError/error/condition
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-pred.R:24:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─testthat::expect_error(...) at test-nonmem-pred.R:26:4
5. │ └─testthat:::expect_condition_matching(...)
6. │ └─testthat:::quasi_capture(...)
7. │ ├─testthat (local) .capture(...)
8. │ │ └─base::withCallingHandlers(...)
9. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
10. ├─nlmixr2est::nlmixr(ipredWang2007, dat, "nonmem")
11. └─nlmixr2est:::nlmixr2.function(ipredWang2007, dat, "nonmem")
12. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:59:3'): warfarin NONMEM reading ──────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:59:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2est::nlmixr(...) at test-nonmem-read.R:69:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:126:3'): pheno NONMEM reading ────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:126:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. ├─nlmixr2::nlmixr(pheno, nlmixr2data::pheno_sd, "nonmem", control = nonmemControl(modelName = "pheno")) at test-nonmem-read.R:128:4
5. └─nlmixr2est:::nlmixr2.function(...)
6. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem-read.R:195:3'): wbc NONMEM reading ──────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─withr::with_tempdir(...) at test-nonmem-read.R:195:2
2. │ └─withr::with_dir(tmp, code)
3. │ └─base::force(code)
4. └─nlmixr2::nlmixr2(...) at test-nonmem-read.R:202:4
5. ├─nlmixr2est::nlmixr2(...)
6. └─nlmixr2est:::nlmixr2.function(...)
7. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-nonmem.R:148:7'): NONMEM dsl, full model ───────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─testthat::expect_message(...) at test-nonmem.R:148:6
2. │ └─testthat:::expect_condition_matching(...)
3. │ └─testthat:::quasi_capture(...)
4. │ ├─testthat (local) .capture(...)
5. │ │ └─base::withCallingHandlers(...)
6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
7. ├─nlmixr2est::nlmixr(...)
8. └─nlmixr2est:::nlmixr2.function(...)
9. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:20:3'): est='pknca' ────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:20:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
── Error ('test-pknca.R:144:3'): dvParam ───────────────────────────────────────
Error: arguments imply differing number of rows: 1, 0
Backtrace:
▆
1. ├─base::suppressMessages(...) at test-pknca.R:144:2
2. │ └─base::withCallingHandlers(...)
3. ├─testthat::expect_s3_class(...)
4. │ └─testthat::quasi_label(enquo(object), arg = "object")
5. │ └─rlang::eval_bare(expr, quo_get_env(quo))
6. ├─nlmixr2est::nlmixr(...)
7. └─nlmixr2est:::nlmixr2.function(...)
8. └─nlmixr2est:::nlmixr2Est0(.env)
[ FAIL 17 | WARN 0 | SKIP 0 | PASS 227 ]
Error: Test failures
Execution halted
Flavor: r-patched-linux-x86_64