R: use magrittr pipe operator in self written package
It should have worked correctly if you had
magrittr listed in
Depends. However, this is not advised. Instead, you leave
Imports and add the following line to
I suggest reading Writing R extensions. Your question is covered in paragraphs 1.1.3 and 1.5.1.
There's now an easier way to support the pipe in your packages. The wonderful package
usethis has the function
use_pipe(). You run that function once and it handles everything. This is how the
use_pipe() function is described in the
Does setup necessary to use magrittr's pipe internally in your package and to re-export it for users of your package:
Adds magrittr to "Imports" in DESCRIPTION
Creates R/utils-pipe.R with the necessary roxygen template
One additional solution - use the
roxygen package. It's implemented as part of the
devtools package. Once
devtools is installed, calling
devtools::document() will update your
NAMESPACE for you. It also auto-builds .Rd files with documentation, which is handy.
All you do is add a special comment in the format
#' @import packagename to a file to import all functions from that package, or
#' @importFrom packagename functionname to import a function. You can have as many of these comments as you want in your files, so you can have a set of them at the top of each file, or with each of your functions that needs an external function.
Then you run
devtools::document() and it parses your code looking for those comments, and then it creates an appropriate
NAMESPACE file for you. Easy.