[Rd] Wrong move of NEWS item

Suharto Anggono Suharto Anggono @uh@rto_@nggono @end|ng |rom y@hoo@com
Sun Feb 22 04:58:13 CET 2026


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.
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.
	[[alternative HTML version deleted]]



More information about the R-devel mailing list