In R, functions are objects in their own right. They aren’t automatically bound to a name. Unlike many languages (e.g., C, C++, Python, and Ruby), R doesn’t have a special syntax for creating a named function: when you create a function, you use the regular assignment operator to give it a name. If you choose not to give the function a name, you get an anonymous function.
When you don’t give a name to a function, you are creating an anonymous function.
You use an anonymous function when it’s not worth the effort to give it a name:
The syntax is slightly different from the ordinary UDF seen above because now you have a different parentheses approach:
- First, you use
()as usual, to denote a call to a function, immediately after the keyword
function: this can specify the argument, in example
- Secondly, a
()couple encircles the
function(x)declaration and body;
- Thirdly, after the previous construct, you specify the argument passed in the call.
# Anonymous function for cude > (function(x) x * x * x)(9)  729 # Same as > fun <- function(x) x * x * x # Call `fun` and pass `9` as an argument > fun(9)  729
The most common convention is to use anonymous functions when using the
*apply family of functions. For example, you might want to do an operation across a set of columns in a dataset.
# Create a dataset df <- data.frame( col1 = c("e1", "e2"), col2 = c("e3", "e4"), stringsAsFactors = FALSE ) # lapply an anonymous function to the columns of the dataset > lapply(df, function(x) paste(x, "is working")) $col1  "e1 is working" "e2 is working" $col2  "e3 is working" "e4 is working"
Hence, we saw what is a anonymous function, when to use a anonymous function with a example.
This brings the end of this Blog. We really appreciate your time.
Hope you liked it.
Do visit our page www.zigya.com/blog for more informative blogs on Data Science
Keep Reading! Cheers!