Глядя на код mutate, кажется, что это будет нелегко, поскольку в конечном итоге он погружается в C-функцию:
> mutate
function (.data, ...)
{
UseMethod("mutate")
}
<environment: namespace:dplyr>
> methods(mutate)
[1] mutate.data.frame* mutate.default* mutate.tbl_df*
see '?methods' for accessing help and source code
> getAnywhere(mutate.tbl_df)
A single object matching ‘mutate.tbl_df’ was found
It was found in the following places
registered S3 method for mutate from namespace dplyr
namespace:dplyr
with value
function (.data, ...)
{
dots <- named_quos(...)
mutate_impl(.data, dots)
}
<environment: namespace:dplyr>
> mutate_impl
Error: object 'mutate_impl' not found
> getAnywhere(mutate_impl)
A single object matching ‘mutate_impl’ was found
It was found in the following places
namespace:dplyr
with value
function (df, dots)
{
.Call(`_dplyr_mutate_impl`, df, dots)
}
<environment: namespace:dplyr>
Кажется сомнительным, что изменения будут приветствоваться, поскольку у вас уже есть работоспособное решение.