Hi Bill,

  The problem is not with the warning() function but with your if()
test that triggers the warning. It probably has something to do with
slight differences in rounding. I suggest you use debug() or browser()
on each platform to see why your condition is TRUE or FALSE.

  Cheers,
  -- François

On Wed, Jul 20, 2016 at 2:42 PM, Bill Denney <b...@denney.ws> wrote:
> Hi,
>
> I'm developing the PKNCA package, and I've got an odd difference between
> warning behavior on different operating systems that I can't figure out.
>
> When I run the following code on Windows 10 (with R 3.3.0), I get the
> following warning:
>
> library(PKNCA)
> source("https://raw.githubusercontent.com/billdenney/pknca/master/tests/testthat/generate.data.R";)
> tmpconc <- generate.conc(2, 1, 0:24)
> tmpconc$conc <- 0
> tmpdose <- generate.dose(tmpconc)
> myconc <- PKNCAconc(tmpconc, conc~time|treatment+ID)
> mydose <- PKNCAdose(tmpdose, dose~time|treatment+ID)
> mydata <- PKNCAdata(myconc, mydose)
> myresult <- pk.nca(mydata)
>
> Warning messages:
> 1: In pk.calc.half.life(conc = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  :
>   Too few points for half-life calculation (min.hl.points=3 with only 0
> points)
> 2: In pk.calc.half.life(conc = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  :
>   Too few points for half-life calculation (min.hl.points=3 with only 0
> points)
>
> When I run the code on Linux (Ubuntu 16.04 with R 3.3.1), I do not get a
> warning.  When I run the code on Linux after "options(warn=1)", I get the
> warning.  I have confirmed that the same code path is taken in both Windows
> and Linux by simply inserting a print statement next to the warning.  The
> actual warning code is:
>
>     warning(sprintf(
>       "Too few points for half-life calculation (min.hl.points=%g with only
> %g points)",
>       min.hl.points, nrow(dfK)))
>
> This platform inconsistency is causing issues with my package because the
> package expects the warnings, and the user should know about the warnings.
> I've got test cases expecting the warnings, and they fail everywhere but
> Windows (https://cran.r-project.org/web/checks/check_results_PKNCA.html).
>
> Does anyone have an idea why warnings may behave differently on Windows
> compared to non-Windows platforms?  Is this a bug in R somewhere?  (I've not
> been able to make a simpler example that triggers the issue, unfortunately.)
>
> Thanks,
>
> Bill
>
> ______________________________________________
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to