Skip to content

Releases: NMautoverse/NMdata

v0.2.3

26 Jan 20:26

Choose a tag to compare

NMdata 0.2.3

New Features

  • New function, mergeCoal() is a coalesce-like merge
    function. mergeCoal(x,y,...) overwrites values in x with those in y, if
    not NA. This is a flexible way to edit multiple values in a data.frame
    through a single interface.

  • NMreadParsText() supports formats including periods (.). There may still be
    some special characters that are not supported.

  • NMrelate() supports models that don't have all of $THETA,
    $OMEGA, and $SIGMA sections.

Bugfixes

  • NMcanInput (and downstream functions like NMscanData did not copy Nonmem
    columns ($INPUT elements like DV=OBS) correctly. It would not name the
    secondary column as expected (which is, if name it OBS if not used in other Nonmem
    column names, otherwise OBSX where X is an integer making OBSX a unique
    column name). Fixed.

  • NMextractFormats() was failing to capture format definitions
    "format.omega" and "format.sigma" in control streams. Format
    definitions including tabulator characters would also create
    problems. A format definition is a comment documenting the format,
    like "format: %idx - %symbol". Fixed.

  • NMrelate() did not consider the sections argument. It does now
    but with an important limitation: it can only be of lenght one. This
    is of minor importance since it is only needed in the special case
    that a parameter gets assigned to different variable names in
    different sections. Normally, leaving out the argument is fine.

v0.2.2

06 Nov 16:07

Choose a tag to compare

New Features

  • New function, dtapply() takes a vector or a list (like
    lapply()), runs a function (like lapply()), and returns a
    data.frame with column containing values or names of character
    vector or list in addition to columns with function results.

  • New function, lapplydt() takes a data.frame, runs a function in
    subsets (as defined by a by column), returns a list. This is
    because dt[i,j,by] only works if all subsets defined by by
    returns compatible lists. lapplydt() works anyway, even for other
    structures like plots.

  • $NMtransInp() has been improved to consistently and fully support
    VAR=DROP and VAR1=VAR2 notations in $INPUT. This improves
    NMscanInput() and NMscanData().

  • NMreadParsText() now scans the control stream for a specified
    formats. As NMreadParsText() reads control stream parameter sections
    and turns comments into a data.frame, the format of the tabulated
    information is central information. This can now be provided in the
    control stream (where the comments are defined) instead of in the
    postprocessing script (which is ideally reused between
    models). Control stream example:

;; format: %idx - %symbol [%unit]; %trans 
$THETA (0, 4.4) ; 1 - CL [L/h] ; none 
;; format.omega: %symbol ; %trans 
$OMEGA 0.15 ; IIV.KA ; lognormal 

The first occurrance of each of format, format.omega, and
format.sigma is used. Like before format.sigma inherits from
format.omega if not specified, like format.omega inherits from
format.

Also, NMreadParsText() formats are no longer expected to include a
field dedicated to the initial value information (like (0, 0.44)
above. It will automatically assign this to a field called initstr
(for "initial value string"). It will still look at the format, and if
the first field is named either init or initstr, it will use this
field for the initial value string. A new argument add.init is added
to control this behavior.

Notice, NMreadInits() is another NMdata function that processes
these fields and would in this case separate this into lower=0 and
init=4.4.

  • Support for application of data filters on columns that contain
    missing values. NMapplyFilters() is an internal function that
    runs these filters on (R) data sets. This used to throw warnings
    when columns with missing values were being used in the
    filters. This situation is now handled. A message is still thrown to
    encourage the user to use a row identifier.

  • NMreadInits() supports initial value syntax with missing values
    like $THETA (,1,) ; TVCL. There is still a limitation that the
    lower limit, the initial value and the upper limit for a single
    parameter must be on the same line.

  • NMreadInits() can read prior parameters like $THETAP,
    $THETAPV, etc.

  • NMreadInits() adds a SAME (0/1) column to parameter table. Also
    adds sameblock (counting sequences of $OMEGA blocks connecting
    with SAME) and Nsameblock (The number of SAME repetitions).
    Thanks to Brian Reilly for working on this.

  • fnAppend() can now both append and prepend strings to file
    names. See the new position argument which defaults to
    "append". fnAppend() also gains support for modifying strings
    ending in dots, like string...

  • tmpcol() adds support for multiple variables, providing unique
    variable names for all, taking into account existing variables. Also
    gains an argument, sep, to control separator between base and a
    possible counter (to ensure uniquenes).

Bugfixes

  • NMreadFilters() would classify single-character filters as accept
    statements. Fixed.

  • NMreadInits() gains support for OMEGA BLOCK(N) SAME structures
    where N is a positive integer. Notice, the SAME(N) notation,
    meaning N repetition of the SAME block structure, is still not
    supported.

v0.2.1

07 Jul 19:07

Choose a tag to compare

version 0.2.1

v0.2.0

24 Mar 20:19

Choose a tag to compare

more test files

Version 0.1.9

29 Jan 15:05

Choose a tag to compare

v0.1.9

documentation

0.1.8

01 Nov 10:44

Choose a tag to compare

v0.1.8

version

Version 0.1.7 (CRAN)

27 Aug 14:37

Choose a tag to compare

v0.1.7

submission 1 of 0.1.7

v0.1.5

24 Feb 23:21

Choose a tag to compare

v0.1.5 released

0.1.2

21 Oct 20:43

Choose a tag to compare

v0.1.2

documentation

v0.1.1

08 Sep 00:22

Choose a tag to compare

v0.1.1