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