I\'d like to have a function that can use pipe operator as exported from dplyr. I am not using magrittr.
df %>% my_function
How can I get df
I don't believe this is possible without adding an extra argument to your my_function
. When chaining functions with dplyr
it automatically converts the df
to a tbl_df
object, hence the new name "."
within the dplyr
scope to make the piping simpler.
The following is a very hacky way with dplyr which just adds an addition argument to return the name of the original data.frame
my_function <- function(tbl, orig.df){print(deparse(substitute(orig.df)))}
df %>% my_function(df)
[1] "df"
Note you couldn't just pass the df
with your original function because the tbl_df
object is automatically passed to all subsequent functions.