package.skeleton {utils} | R Documentation |
Create a Skeleton for a New Source Package
Description
package.skeleton
automates some of the setup for a new source
package. It creates directories, saves functions, data, and R code files to
appropriate places, and creates skeleton help files and a
‘Read-and-delete-me’ file describing further steps in packaging.
Usage
package.skeleton(name = "anRpackage", list,
environment = .GlobalEnv,
path = ".", force = FALSE,
code_files = character(), encoding = "unknown")
Arguments
name |
character string: the package name and directory name for your package. Must be a valid package name. |
list |
character vector naming the R objects to put in the
package. Usually, at most one of |
environment |
an environment where objects are looked for. See ‘Details’. |
path |
path to put the package directory in. |
force |
If |
code_files |
a character vector with the paths to R code files to build the package around. See ‘Details’. |
encoding |
optionally a |
Details
The arguments list
, environment
, and code_files
provide alternative ways to initialize the package. If
code_files
is supplied, the files so named will be sourced to
form the environment, then used to generate the package skeleton.
Otherwise list
defaults to the objects in environment
(including those whose names start with .
), but can be supplied
to select a subset of the objects in that environment.
Stubs of help files are generated for functions, data objects, and
S4 classes and methods, using the prompt
,
promptClass
, and promptMethods
functions.
If an object from another package is intended to be imported and
re-exported without changes, the promptImport
function
should be used after package.skeleton
to generate a simple help file linking to the original one.
The package sources are placed in subdirectory name
of
path
. If code_files
is supplied, these files are
copied; otherwise, objects will be dumped into individual source
files. The file names in code_files
should have suffix
".R"
and be in the current working directory.
The filenames created for source and documentation try to be valid for
all OSes known to run R. Invalid characters are replaced by ‘_’,
invalid names are preceded by ‘zz’, names are converted to lower
case (to avoid case collisions on case-insensitive file systems) and
finally the converted names are made unique by
make.unique(sep = "_")
. This can be done for code and
help files but not data files (which are looked for by name). Also,
the code and help files should have names starting with an ASCII
letter or digit, and this is checked and if necessary z
prepended.
Functions with names starting with a dot are placed in file ‘R/name-internal.R’.
When you are done, delete the ‘Read-and-delete-me’ file, as it should not be distributed.
Value
Used for its side-effects.
References
Read the ‘Writing R Extensions’ manual for more details.
Once you have created a source package you need to install it:
see the ‘R Installation and Administration’ manual,
INSTALL
and install.packages
.
See Also
prompt
, promptClass
, and
promptMethods
.
package_native_routine_registration_skeleton
for helping
in preparing packages with compiled code.
Examples
require(stats)
## two functions and two "data sets" :
f <- function(x, y) x+y
g <- function(x, y) x-y
d <- data.frame(a = 1, b = 2)
e <- rnorm(1000)
package.skeleton(list = c("f","g","d","e"), name = "mypkg")