Skip to content
Back to formatted view

Raw Message

Message-ID: <45e14c21-e85c-6f0e-6a22-f065c14bc21e@gmail.com>
Date: 2018-01-19T14:59:29Z
From: Duncan Murdoch
Subject: bug fix integer overflow in medpolish function
In-Reply-To: <2111235670.59687.1516372405230.JavaMail.zimbra@vib-ugent.be>

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