zooreg and lmrob problem (bug?)
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.