[datatable-help] Error that I don't think should be an error

Matthew Dowle mdowle at mdowle.plus.com
Thu Oct 27 18:59:47 CEST 2011


But user intended to delete a column that isn't there. Why should it do
nothing, silently?  A warning at least.  If I typed "y" by mistake and
meant another column that was there, I'd want to know about it straight
way. Otherwise it could cause problems later on, possibly silently. That's
the most common situation we want to catch, I think.  The use-case "if
column is there, delete it, else don't" is much rarer I would have
thought. The rarer cases are the ones the user can code explicitly. No?

> Pretty simple. I think assigning NULL to a column that doesn't exist
> should just work as a no-op instead of failing with an error. No-op is
> consistent with data.frame:
>
>> dt=data.table(x=1:10)
>> dt$y=NULL
> Error in `[<-.data.table`(x, j = name, value = value) :
>   RHS is NULL, meaning delete column(s). But, at least one column is
> not present.
>> dt[,y:=NULL]
> Error in `[.data.table`(dt, , `:=`(y, NULL)) :
>   RHS is NULL, meaning delete column(s). But, at least one column is
> not present.
>> df=data.frame(x=1:10)
>> df$y=NULL
>
> If agreed I will file a bug report.
>
> -Chris
> _______________________________________________
> datatable-help mailing list
> datatable-help at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
>




More information about the datatable-help mailing list