getFromNamespace {utils} | R Documentation

## Utility functions for Developing Namespaces

### Description

Utility functions to access and replace the non-exported functions in a namespace, for use in developing packages with namespaces.

### Usage

    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), ...)

### Arguments

`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`.

### Details

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.

### Value

`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.

### Note

`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.

### See Also

`get`, `fix`, `getS3method`

### Examples

    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)

[Package utils version 2.3.1 Index]