Closed muhsinciftci closed 1 year ago
The function.()
functions are going to continue being deprecated, and will be removed from the package sometime in the near future.
In general here's the reasoning.
People were confused by when to use the dot. They would try things like select.(starts_with.("x"))
or mean.(x)
and were constantly getting errors about whether functions existed or not. So to make it easier I added "dotless" functions (select()
, filter()
, etc.).
At first glance I could just keep both and people could choose which version to use, but R was having trouble distinguishing S3 methods for the dotless functions.
Not sure if you've built S3 methods before, but they're done using function.class()
syntax. So for a data.frame I would export select.data.frame()
in the background. When I tried to export select.()
R would assume I was exporting select()
for an empty class of ""
as opposed to a different function. Using S3 methods is pretty core to building a coherent package like tidytable
for data frame manipulation, and also allows other people to extend the tidytable
class for their own packages.
As a result, I need to either completely remove either the dot or dotless functions. Since the dot functions were causing so many issues for users only the dotless functions can remain.
Hope this made sense - if you have any questions let me know.
Hi, Many thanks for developing this great package, bringing dplyr and data.table together. However, in the last version the dot notations, for example "select." or "filter." are deprecated. Wouldn't it be great to keep those dot notations to make it easier to distinguish them from standard dplyr functions?
Thanks.