[R] zooreg and lmrob problem (bug?)
Gabor Grothendieck
ggrothendieck at gmail.com
Thu Mar 12 15:02:26 CET 2009
One can't assume an arbitrary function necessarily works with zoo
objects although many do; however, for functions that are sufficiently
similar to lm, like lmrob, dyn in the dyn package can transform it to
work with zoo (as well as with ts and a number of other time series
classes). Just preface lmrob with dyn$ like this:
library(dyn)
mod1<-dyn$lmrob(as.zooreg(dad)~seq(58))
summary(mod1)
On Thu, Mar 12, 2009 at 6:13 AM, Víctor Homar <victor.homar at uib.cat> wrote:
> Hi all and thanks for your time in advance,
>
> I can't figure out why summary.lmrob complains when lmrob is used on a
> zooreg object. If the zooreg object is converted to vector before
> calling lmrob, no problems appear.
>
> Let me clarify this with an example:
>
>>library(robustbase)
>>library(zoo)
>>dad<-c(801.4625,527.2062,545.2250,608.2313,633.8875,575.9500,797.0500,706.4188,
> 816.7000,619.1187,430.6188,852.1750,574.9937,528.1250,376.6187,507.7437,
> 443.0813,463.6250,716.1063,529.1250,705.7437,959.2937,653.0187,717.4438,
> 644.3125,718.1000,620.5187,759.3312,712.9750,606.6688,451.9250,560.2313,
> 308.1875,551.7687,615.3312,673.1250,678.4562,485.5312,491.8875,568.5688,
> 689.5750,507.0875,467.9125,539.4875,461.8625,827.3750,507.9250,526.5688,
> 363.9625,355.8813,585.9750,792.8438,698.6250,625.1063,463.4875,619.4688,
> 684.9438,815.3438)
>
>> mod1<-lmrob(dad~seq(58))
>> summary(mod1)
>
> Call:
> lmrob(formula = dad ~ seq(58))
>
> Weighted Residuals:
> Min 1Q Median 3Q Max
> -291.106 -98.083 0.912 102.219 349.697
>
> Coefficients:
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 630.2021 38.5583 16.344 <2e-16 ***
> seq(58) -0.9366 1.1639 -0.805 0.424
> ---
> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> Robust residual standard error: 147.3
> Convergence in 8 IRWLS iterations
>
> Robustness weights:
> 4 weights are ~= 1. The remaining 54 ones are summarized as
> Min. 1st Qu. Median Mean 3rd Qu. Max.
> 0.5522 0.8858 0.9537 0.9212 0.9831 0.9990
> Algorithmic parameters:
> tuning.chi bb tuning.psi refine.tol rel.tol
> 1.5476400 0.5000000 4.6850610 0.0000001 0.0000001
> nResample max.it groups n.group best.r.s k.fast.s
> k.max
> 500 50 5 400 2 1
> 200
> trace.lev compute.rd
> 0 0
> seed : int(0)
>>
>> mod1<-lmrob(as.zooreg(dad)~seq(58))
>> summary(mod1)
>
> Call:
> lmrob(formula = as.zooreg(dad) ~ seq(58))
>
> Weighted Residuals:
> Error in if (xi == xj) 0L else if (xi > xj) 1L else -1L :
> argument is of length zero
>
>
>
>
> My problem is I typically work with zooreg objects and summary.lmrob
> complains unless I convert them to vector in the lmrob call. Any idea
> what is going wrong?
>
>
> Thanks a lot,
>
> Víctor.
>
> --
> --------------------------------------------------------------------
> Víctor Homar Santaner
> Grup de Meteorologia
>
> Edif. Mateu Orfila Tel: +34 971 17 1376
> Universitat de les Illes Balears Fax: +34 971 17 3426
> 07122 Palma de Mallorca (SPAIN) Email: Victor.Homar at uib.es
>
> Knowledge is contagious. Infect truth.
> --------------------------------------------------------------------
>
>
> [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>
More information about the R-help
mailing list