getFromNamespace {utils} | R Documentation |
Utility functions to access and replace the non-exported functions in a namespace, for use in developing packages with namespaces.
getFromNamespace(x, ns, pos = -1, envir = as.environment(pos)) assignInNamespace(x, value, ns, pos = -1, envir = as.environment(pos)) fixInNamespace(x, ns, pos = -1, envir = as.environment(pos), ...)
x |
an object name (given as a character string). |
value |
an R object. |
ns |
a namespace, or character string giving the namespace. |
pos |
where to look for the object: see get . |
envir |
an alternative way to specify an environment to look in. |
... |
arguments to pass to the editor: see edit . |
The namespace can be specified in several ways. Using, for example,
ns = "stats"
is the most direct, but a loaded package with a
namespace can be specified via any of the methods used for
get
: ns
can also be the environment printed as
<namespace:foo>
.
getFromNamespace
is similar to (but predates) the
:::
operator, but is more flexible in how the namespace
is specified.
fixInNamespace
invokes edit
on the object named
x
and assigns the revised object in place of the original
object. For compatibility with fix
, x
can be unquoted.
getFromNamespace
returns the object found (or gives an error).
assignInNamespace
and fixInNamespace
are invoked for
their side effect of changing the object in the namespace.
assignInNamespace
and fixInNamespace
change the copy in
the namespace, but not any copies already exported from the namespace,
in particular an object of that name in the package (if already
attached) and any copies already imported into other namespaces.
They are really intended to be used only for objects which are
not exported from the namespace. They do attempt to alter a copy
registered as an S3 method if one is found.
getFromNamespace("findGeneric", "utils") ## Not run: fixInNamespace("predict.ppr", "stats") stats:::predict.ppr getS3method("predict", "ppr") ## alternatively fixInNamespace("predict.ppr", pos = 3) fixInNamespace("predict.ppr", pos = "package:stats") ## End(Not run)