Re: Use AND to ignore rows for input dataset
Hi Bob,
Thanks for providing the solution applicable to some cases. Meanwhile,
I would like to share my thoughts on this issue. My sole purpose is to
make NONMEM even better.
1. Use of OR alone may be subject to a very limited utility. Actually,
my scenario is way more complicated. E.g. I want to exclude the
year-span between (10,18) and (60,70) from the pool of (0,90). I
cannot find a solution with ACCEPT/OR for this case.
2. Implicit/default use of OR is quite counter-intuitive and could
raise the NONMEM learning curve. As we all know, AND (instead of OR)
is the widely implemented default operator, E.g., Google search and
programming languages (like R package dplyr/filter). NONMEM developers
may consider following this general practice.
3. A lot of solutions provided on this platform come from the Guide
-VIII. They are still useful but seems cumbersome from the current
perspective. While we stick to a six-year-old guide, we entered a new
era of machine learning, artificial intelligence, self-driving car,
smart phones, etc, technologies are evolving quickly to become much
easier than ever to use. Maybe, we can make NONMEM more user-friendly
as well by solving this long-standing issue. 😊 With this fixed,
IGNORE can serve as a universal filtering command.
I really appreciate your input and feel free to correct me if I am wrong.
Mark
Quoted reply history
On Mon, Dec 16, 2019 at 9:41 PM Bauer, Robert <[email protected]> wrote:
>
> Sebastien:
>
> It is not clear in the guide, but only parenthesized IGNORE and ACCEPT lists,
> such as IGNORE=(list) and ACCEPT=(list), are incompatible. IGNORE=c, where
> c could be any character except space, should work with IGNORE=(list) or
> ACCEPT=(list). For example:
>
>
>
> $DATA example1.csv ACCEPT=(CMT.EQN.1) IGNORE=@
>
>
>
> Also, any data record starting with first non-blank character of # will
> always be ignored by NMTRAN.
>
> Robert J. Bauer, Ph.D.
>
> Senior Director
>
> Pharmacometrics R&D
>
> ICON Early Phase
>
> 820 W. Diamond Avenue
>
> Suite 100
>
> Gaithersburg, MD 20878
>
> Office: (215) 616-6428
>
> Mobile: (925) 286-0769
>
> [email protected]
>
> www.iconplc.com
>
>
>
> From: Sebastien Bihorel <[email protected]>
> Sent: Monday, December 16, 2019 5:02 PM
> To: Bauer, Robert <[email protected]>; Nmusers <[email protected]>
> Subject: Re: [NMusers] Use AND to ignore rows for input dataset
>
>
>
> Since nowadays most datasets include a header line, IGNORE=@ (or something
> along those lines) is almost always used in control streams. Since ACCEPT and
> IGNORE cannot be used in the same $DATA record, the suggested technique is
> seldom usable in my experience.
>
> ________________________________
>
> From: [email protected] <[email protected]> on behalf
> of Bauer, Robert <[email protected]>
> Sent: Monday, December 16, 2019 17:39
> To: Nmusers <[email protected]>
> Subject: RE: [NMusers] Use AND to ignore rows for input dataset
>
>
>
> Guide VIII suggests the following:
>
>
>
> Suppose it is desired that records be dropped that satisfy the logical
> ".AND." of several conditions. This can be implemented by using an ACCEPT
> list with the negations of the conditions. For example, suppose that records
> to be ignored are those having GEN=1 .AND. AGE > 60. This may be done as
> follows:
>
> ACCEPT=(GEN.NE.1,AGE.LE.60)
>
>
>
> Robert J. Bauer, Ph.D.
>
> Senior Director
>
> Pharmacometrics R&D
>
> ICON Early Phase
>
> 820 W. Diamond Avenue
>
> Suite 100
>
> Gaithersburg, MD 20878
>
> Office: (215) 616-6428
>
> Mobile: (925) 286-0769
>
> [email protected]
>
> www.iconplc.com
>
>
>
> From: [email protected] <[email protected]> On Behalf
> Of Sebastien Bihorel
> Sent: Monday, December 16, 2019 12:39 PM
> To: Mark Tepeck <[email protected]>; Nmusers <[email protected]>
> Subject: Re: [NMusers] Use AND to ignore rows for input dataset
>
>
>
> I would second that feature request!
>
> ________________________________
>
> From: [email protected] <[email protected]> on behalf
> of Mark Tepeck <[email protected]>
> Sent: Monday, December 16, 2019 15:16
> To: Nmusers <[email protected]>
> Subject: [NMusers] Use AND to ignore rows for input dataset
>
>
>
> Hi Colleagues,
>
>
>
> Although there are many workarounds to manage the input datasets for NONMEM,
> use of IGNORE would be a very handy solution. However, I am surprised to see
> that AND is not supported by NONMEM. e.g. IGNORE=(CMT.EQ.1, AND CMT.EQ.2 )
> would throw an error. In contrast, NONMEM use OR for IGNORE=(CMT.EQ.1,
> CMT.EQ.2 ) by default, which is quite different for the common practice of
> software.
>
>
>
> I am wondering if the AND feature has been or will be implemented in the
> last/future NONMEM version.
>
>
>
> Thank you,
>
>
>
> Mark
>
>
>
>