v1.16.0 NEWS says that two new warnings may be changed in a future release into backwards-incompatible changes, for consistency:
-
?melt has long documented that the returned variable column should contain integer column indices when measure.vars is a list, but when the list length is 1, variable is actually a character column name, which is inconsistent with the documentation, #5209. To increase consistency in the next release, we plan to change variable to integer, so users who were relying on this behavior should change measure.vars=list("col_name") (variable currently is a column name but will be a column index/integer after this planned change) to measure.vars="col_name" (variable is column name before and after the planned change). For now, relying on this undocumented behavior throws a new warning.
-
?dcast has always required fun.aggregate to return a single value, and when fill=NULL, dcast would indeed error if a vector with length!=1 was returned, but an undefined result was silently returned for non-NULL fill. Now dcast() will additionally warn that this is undefined behavior when fill is not NULL, #6032. In particular, this will warn for fun.aggregate=identity, which was observed in several revdeps. We may change this to an error in a future release, so revdeps should fix their code as soon as possible. Thanks to @tdhock for the PR, and @MichaelChirico for analysis of GitHub revdeps.
v1.16.0 NEWS says that two new warnings may be changed in a future release into backwards-incompatible changes, for consistency:
?melthas long documented that the returnedvariablecolumn should contain integer column indices whenmeasure.varsis a list, but when the list length is 1,variableis actually a character column name, which is inconsistent with the documentation, #5209. To increase consistency in the next release, we plan to changevariableto integer, so users who were relying on this behavior should changemeasure.vars=list("col_name")(variablecurrently is a column name but will be a column index/integer after this planned change) tomeasure.vars="col_name"(variableis column name before and after the planned change). For now, relying on this undocumented behavior throws a new warning.?dcasthas always requiredfun.aggregateto return a single value, and whenfill=NULL,dcastwould indeed error if a vector withlength!=1was returned, but an undefined result was silently returned for non-NULLfill. Nowdcast()will additionally warn that this is undefined behavior when fill is notNULL, #6032. In particular, this will warn forfun.aggregate=identity, which was observed in several revdeps. We may change this to an error in a future release, so revdeps should fix their code as soon as possible. Thanks to @tdhock for the PR, and @MichaelChirico for analysis of GitHub revdeps.