move from warning to breaking change in melt/dcast #6629
Labels
breaking-change
issues whose solution would require breaking existing behavior
consistency
reshape
dcast melt
Milestone
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 returnedvariable
column should contain integer column indices whenmeasure.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 changevariable
to integer, so users who were relying on this behavior should changemeasure.vars=list("col_name")
(variable
currently is a column name but will be a column index/integer after this planned change) tomeasure.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 requiredfun.aggregate
to return a single value, and whenfill=NULL
,dcast
would indeed error if a vector withlength!=1
was returned, but an undefined result was silently returned for non-NULL
fill. 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.The text was updated successfully, but these errors were encountered: