This is great advice, and more easily ignored than one might expect. Any task worth writing a package for requires some complex coding, but that should be on you, not the user. Your users expect simplicity like
result <- really_complex_task(my_data)
They're unlikely to bother with anything more complex.
Also, it may be fun to mess around with tidy eval, but in most cases:
- The column names of datasets are already known. This is especially true in subject-specific packages, like for an API. You could even make your own subclasses of
data.frame to make sure you know the names.
- Functions taking a
data.frame and column names can usually be rewritten to just take vectors. This also makes them more flexible.
- If you absolutely need flexibility in working with datasets, I suggest the
seplyr package. I find it much easier to program with than rlang's non-standard evaluation model.