From: Duncan Murdoch <murdoch_at_stats.uwo.ca>

Date: Mon 13 Nov 2006 - 16:22:09 GMT

> This is certainly a bug.

R-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue Nov 14 03:24:11 2006

Date: Mon 13 Nov 2006 - 16:22:09 GMT

On 11/13/2006 10:30 AM, aimcleod@uwo.ca wrote:

*> Full_Name: Ian McLeod
*

> Version: 2.3.1

*> OS: Windows
**> Submission from: (NULL) (129.100.76.136)
**>
**>
*

>> There is a simple bug in acf as shown below: >> >> z <- 1 >> acf(z,lag.max=1,plot=FALSE) >> Error in acf(z, lag.max = 1, plot = FALSE) : >> 'lag.max' must be at least 1 >>

> This is certainly a bug.

I'd say it's a documentation bug, rather than a code bug.

*>
**> There are two problems:
**>
**> (i) the error message is wrong since lag.max is set to 1. Perhaps, if the
**> function acf can not be used for in this situaiton, a different error message
*

> would be more appropriate. I understand why this might be done but I don't

> think it is the best approach.

What happens is that lag.max is reduced to length(z)-1, which is zero in your case. This change should be mentioned in the documentation.

*> (ii) Please look at the function GetB which is attached. This is part a
**> computation for a fast algorithm for exact mle of mean. Usually phi here are
**> the coefficients from a high order AR but when I tried for AR(1) I got the error
**> message. So the workaround is given. Notice that I use:
**>
**> p*as.vector(acf(phi,lag.max=p,type="covariance",demean=FALSE,plot=FALSE)$acf)
**>
**> so what I expect to get when p=length(phi)=1 is just phi^2. This is what
**> happens in Mathematica with ListCorrelate[{phi},{phi}]. When you have
*

> acf="correlation" and demean=TRUE then one gets 0/0 which should be defined as 1

> in this situation.

I don't think that's a reasonable expectation. You've got an empty sum in the formula for the lag 1 autocovariance:

sum_{i=1}^0 phi_i phi_{i+1}

R is assuming that's not what you meant and is reporting it as an error. If it gave you any value, it should be zero, not phi^2.

Duncan Murdoch

*>
**> Probably if the R authors just want to use acf for data analysis they may simply
*

> choose to require length(x)>1 in acf(x,...) although I don't see the harm in my

> suggestion either.

R-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue Nov 14 03:24:11 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Tue 14 Nov 2006 - 04:30:38 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel.
Please read the posting
guide before posting to the list.
*