Skip to content
Prev 63388 / 63424 Next

Wrong move of NEWS item

> diff(m, lag, dif) for matrix m now still returns
    > ? ? ? matrices, also when lag * dif > nrow(m) (PR#18972, thanks to
    > ? ? ? Mikael Jagan and Suharto Anggono).
    > ? ? ? diff(<ts-matrix>) remains matrix, even when it has length zero.

    > The above NEWS item has been moved to "CHANGES IN R 4.5.2 patched".

    > In fact, in R-4-5-branch, diff(m, lag, dif) for matrix m is still not a matrix when lag * dif > nrow(m) (see https://svn.r-project.org/R/branches/R-4-5-branch/src/library/base/R/diff.R?for 'diff.default';?https://svn.r-project.org/R/branches/R-4-5-branch/src/library/base/R/datetime.R?for 'diff.POSIXt';?https://svn.r-project.org/R/branches/R-4-5-branch/src/library/base/R/dates.R?for 'diff.Date';?https://svn.r-project.org/R/branches/R-4-5-branch/src/library/stats/R/ts.R?for 'diff.ts').

    > And I suggest keeping it so. Because it has been like that simce the beginning, I think changing it in a patch release is not appropriate.

We have ported  bug fixes of "forever bugs" to the "R patched
branch", before,  quite on purpose.
Typically they have been really rare use cases and for that
reason probably were not detected and reported earlier... and we
(R core) still thought these bugs should disappear as quickly as
possible.

For the above reason(s), I *had* actually planned to port this bug
fix also to R "4.5.2 patched" ...
But then it has become somewhat late to do the port only now,
and R 4.5.3 will only be a "wrap up" release anyway..

Hence, I agree with your opinion  and will now move the NEWS
entry instead of porting the bug fix which was the original plan.

Martin


    > What have been ported to R-4-5-branch are just- replacing 'tsLag' with 'lag' in 'diff.ts'- 'Ops.ts' to return matrix when e1 or e2 is matrix but e1 and e2 are not overlapping
    > I suggest reverting the port. A justification of diff(m) for 1-row ts matrix m not being a matrix was that m - lag(m, -1) was not a matrix.
    > Replacing 'tsLag' with 'lag' in 'diff.ts' is actually OK, but not necessary.