bug in plot.acf (PR#8705)
On 3/24/2006 9:10 AM, Antonio, Fabio Di Narzo wrote:
2006/3/24, maechler at stat.math.ethz.ch <maechler at stat.math.ethz.ch>:
"Duncan" == Duncan Murdoch <murdoch at stats.uwo.ca>
on Fri, 24 Mar 2006 13:55:03 +0100 (CET) writes:
Duncan> (Moved from r-devel to r-bugs)
Duncan> On 3/24/2006 5:03 AM, Antonio, Fabio Di Narzo wrote:
>> Hi all.
>> There's a bug in plot.acf, when plotting acf for multivariate time
series.
>> Here a reproducible example:
>>
>> X <- rnorm(1000)
>> Y <- -X + rnorm(1000, sd=0.6)
>> Z <- cbind(X,Y)
>>
>> In
>> acf(Z)
>> cross-correlation plot y-axis is limited to 0-1. But:
>> acf(Z, ylim=c(-1,1))
>> shows that there was a negative correlation, that was cut away in
the
>> previous plot.
>>
>> I've seen the error is trivial. There's something like:
>>
>> for(each pair of univariate time series) {
>> if(is.null(ylim)) {
>> ...#set ylim properly
>> }
>> ...
>> }
>>
>> in plot.acf code, so that in the first iteration the ylim par is
properly
>> set to about c(0,1), but in
>> subsequent interations, ylim is no more NULL, and the old, unproper
ylim
>> specification
>> remains.
Duncan> Thanks for noticing this. It's easy to fix, but
Duncan> before I do, I'd like an opinion on the proper fix.
Duncan> Should all the plots use the same ylim, or in the
Duncan> case where it is unspecified, should they each
Duncan> choose their own? I can see arguments for both
Duncan> possibilities.
Duncan> Duncan Murdoch
I'd vote for the first one, a common y-scale.
Only that is also consistent with the behavior of explicitly
speficied 'ylim'.
Martin
This sounds to me to be the best, also for visual comparison of multiple plots at once (having them all on the same screen...). Antonio, Fabio Di Narzo.
Okay, will do it that way. Duncan Murdoch