Type: | Package |
Title: | Standard Evaluation-Based Multivariate Function Composition |
Version: | 0.1.0 |
Description: | Provides a streamlined, standard evaluation-based approach to multivariate function composition. Allows for chaining commands via a forward-pipe operator, %>%. |
Encoding: | UTF-8 |
LazyData: | true |
URL: | https://github.com/swang87/fc |
BugReports: | https://github.com/swang87/fc/issues |
License: | GPL-2 |
Imports: | codetools |
Suggests: | magrittr, purrr |
RoxygenNote: | 6.1.0 |
NeedsCompilation: | no |
Packaged: | 2018-08-13 13:49:00 UTC; eastie |
Author: | Xiaofei (Susan) Wang [aut, cre], Michael Kane [aut] |
Maintainer: | Xiaofei (Susan) Wang <xiaofei.wang@yale.edu> |
Repository: | CRAN |
Date/Publication: | 2018-08-14 09:40:06 UTC |
Forward-pipe Operator Using Standard Evaluation
Description
The forward pipe operator behaves similar to the magrittr pipe operator with two exceptions. First, it only supports standard evaluation. If modified parameter values are needed then the 'fc' function should be used. Second, it composes functions. The return type of this operator is an R function.
Usage
lhs %>% rhs
Arguments
lhs |
the function that will be applied second to an input. |
rhs |
the function that will be applied first to an input. |
Value
The composed function lhs(rhs(x)).
Examples
# Create a new code block in case the pipe operator is already
# defined.
{
# Make sure the example uses the correct pipe operator.
`%>%` <- fc::`%>%`
# Create a function that gets the 9th and 10th objects using the head
# and tail functions.
nine_and_ten <- fc(head, n=10) %>% fc(tail, n=2)
nine_and_ten(iris)
}
Generalized Function Composition and Partial Function Evaluation
Description
'fc' is used to modify functions. It can be used to compose function with specified function parameters and it can be used to set parameter values (partial function evaluation).
Usage
fc(.func, ...)
Arguments
.func |
the function to be modified. |
... |
the function modifiers (see Details). |
Details
The 'fc' function works by capturing function modifier expressions in a list, which can be applied to the specified function via the 'do.call' function. The function make use of standard R evaluation only. The 'substitute' function is not used and modifiers expressions must be syntatically valid.
Value
A modified function based on the parameters provided.
Examples
# Partial function evaluation - a function that returns the first three
# elements of an object.
head3 <- fc(head, n=3)
# Function composition - a function that returns the fifth through the
# 10th element of an object using the head and tail functions.
head_1_to_10 <- fc(head, n=10)
head_5_to_10 <- fc(tail, x=head_1_to_10(x))
head_5_to_10(iris)