[Rd] bug fix integer overflow in medpolish function

Duncan Murdoch murdoch.duncan at gmail.com
Fri Jan 19 15:59:29 CET 2018


On 19/01/2018 9:33 AM, Ludger Goeminne wrote:
> Dear R team
> 
> I noticed a bug in the "medpolish" function in the "stats" package.
> When I run medpolish(x), with "x" the matrix in the attached .rda file,
> I get this rather cryptic error:
> 
> "Error in if (converged) break : missing value where TRUE/FALSE needed
> In addition: Warning message:
> In sum(abs(z), na.rm = na.rm) : integer overflow - use sum(as.numeric(.))"
> 
> I traced this down to the line:
> 
> newsum <- sum(abs(z), na.rm = na.rm)
> 
> I think this "overflow" could be easily fixed by changing this line to:
> 
> newsum <- sum(as.numeric(abs(z)), na.rm = na.rm)

Alternatively, you could use medpolish(as.numeric(x)).

Duncan Murdoch



More information about the R-devel mailing list