[Rd] Bug in print.Arima and patch
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Jun 5 16:42:02 CEST 2009
Why not use NROW?
On Fri, 5 Jun 2009, Gavin Simpson wrote:
> Dear List,
>
> A posting to R-Help exposed this problem with the print method for
> objects of class Arima:
>
>> set.seed(1)
>> x <- arima.sim(n = 100, list(ar = 0.8897, ma = -0.2279))
>> mod <- arima(x, order = c(1,0,1))
>> coefs <- coef(mod)
>> mod2 <- arima(x, order = c(1,0,1), fixed = coefs)
>> mod2
>
> Call:
> arima(x = x, order = c(1, 0, 1), fixed = coefs)
>
> Coefficients:
> Error in se && nrow(x$var.coef) : invalid 'y' type in 'x && y'
>> print(mod2, se = FALSE)
>
> Call:
> arima(x = x, order = c(1, 0, 1), fixed = coefs)
>
> Coefficients:
> ar1 ma1 intercept
> 0.9323 -0.2940 -0.0353
>
> sigma^2 estimated as 0.8339: log likelihood = -133.55, aic = 269.11
>
> The print methods raises an error in this case, where all coefficients
> are fixed, because x$var.coef is of length(0), which in turn results in
> NULL being used in the && comparison, resulting in the error.
>
> A potential fix is to just include a check for length(x$var.coef) > 0 in
> the if statement. This fix, when applied to:
>
> R version 2.10.0 Under development (unstable) (2009-06-05 r48712)
>
> fixes this particular problem and passes make check-devel. A patch
> against r48712 is attached, and included here in-line:
>
> [gavin at desktop build]$ svn diff ../src/library/stats/R/arima.R
> Index: ../src/library/stats/R/arima.R
> ===================================================================
> --- ../src/library/stats/R/arima.R (revision 48712)
> +++ ../src/library/stats/R/arima.R (working copy)
> @@ -355,7 +355,7 @@
> if (length(x$coef)) {
> cat("Coefficients:\n")
> coef <- round(x$coef, digits = digits)
> - if (se && nrow(x$var.coef)) {
> + if (se && length(x$var.coef) > 0 && nrow(x$var.coef)) {
> ses <- rep(0, length(coef))
> ses[x$mask] <- round(sqrt(diag(x$var.coef)), digits = digits)
> coef <- matrix(coef, 1L, dimnames = list(NULL, names(coef)))
>
> HTH
>
> G
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> Dr. Gavin Simpson [t] +44 (0)20 7679 0522
> ECRC, UCL Geography, [f] +44 (0)20 7679 0565
> Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk
> Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/
> UK. WC1E 6BT. [w] http://www.freshwaters.org.uk
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list