Releases: NMautoverse/NMdata
v0.2.3
NMdata 0.2.3
New Features
-
New function,
mergeCoal()is a coalesce-like merge
function.mergeCoal(x,y,...)overwrites values inxwith those iny, if
notNA. This is a flexible way to edit multiple values in adata.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$SIGMAsections.
Bugfixes
-
NMcanInput(and downstream functions likeNMscanDatadid not copy Nonmem
columns ($INPUTelements likeDV=OBS) correctly. It would not name the
secondary column as expected (which is, if name itOBSif not used in other Nonmem
column names, otherwiseOBSXwhereXis an integer makingOBSXa 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 thesectionsargument. 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
New Features
-
New function,
dtapply()takes a vector or a list (like
lapply()), runs a function (likelapply()), and returns a
data.framewith column containing values or names of character
vector or list in addition to columns with function results. -
New function,
lapplydt()takes adata.frame, runs a function in
subsets (as defined by abycolumn), returns a list. This is
becausedt[i,j,by]only works if all subsets defined byby
returns compatible lists.lapplydt()works anyway, even for other
structures like plots. -
$NMtransInp()has been improved to consistently and fully support
VAR=DROPandVAR1=VAR2notations in$INPUT. This improves
NMscanInput()andNMscanData(). -
NMreadParsText()now scans the control stream for a specified
formats. AsNMreadParsText()reads control stream parameter sections
and turns comments into adata.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 aSAME(0/1) column to parameter table. Also
addssameblock(counting sequences of$OMEGAblocks connecting
withSAME) andNsameblock(The number ofSAMErepetitions).
Thanks to Brian Reilly for working on this. -
fnAppend()can now both append and prepend strings to file
names. See the newpositionargument which defaults to
"append".fnAppend()also gains support for modifying strings
ending in dots, likestring... -
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 forOMEGA BLOCK(N) SAMEstructures
whereNis a positive integer. Notice, theSAME(N)notation,
meaningNrepetition of theSAMEblock structure, is still not
supported.
v0.2.1
version 0.2.1
v0.2.0
more test files
Version 0.1.9
v0.1.9 documentation
0.1.8
v0.1.8 version
Version 0.1.7 (CRAN)
v0.1.7 submission 1 of 0.1.7
v0.1.5
v0.1.5 released
0.1.2
v0.1.2 documentation
v0.1.1
v0.1.1