[RsR] MASS:rlm() and robustbase::lmrob() are both breaking

Kjell Konis kje||@kon|@ @end|ng |rom ep||@ch
Tue Sep 9 11:27:19 CEST 2008


Yup. That's me. Consider me embarrassed.

Here is splus.assign with Martin's fix:

splus.assign <- function(asgn, term.labels)
{
   if(min(asgn) == 0) {
     term.labels <- c("(Intercept)", term.labels)
     asgn <- asgn + 1
   }
   ans <- list()
   n <- length(term.labels)
   for(i in 1:n)
     ans[[i]] <- which(asgn == i)
   names(ans) <- term.labels
   ans
}

You can make a temporary fix but putting this function into your R  
session. I'll fix this in robust ASAP.

Kjell



On 8 sept. 08, at 18:10, Martin Maechler wrote:

> Ok, I've debugged that.
> It's from a somewhat embarrassing bug in package 'robust':
> the internally used function splus.assign() has a bug
> which only triggers when there is no intercept --- as in your case.




More information about the R-SIG-Robust mailing list