Re: [R] names of functions in a library

From: Henrik Bengtsson <>
Date: Tue 07 Jun 2005 - 20:02:10 EST

For a generalization of this, see ll() in the R.oo package;

 > library(R.oo)
 > ll(mode="function", envir="base")

                 member  data.class dimension object.size
  1                   -    function      NULL          28
  2              -.Date    function      NULL        5996
  3            -.POSIXt    function      NULL        6864
  1008         zapsmall    function      NULL        3068
  1009 zip.file.extract    function      NULL        5232

 > help(ll)


     ll(pattern=".*", ..., private=FALSE, properties=c("data.class", "dimension", "object.size"), sortBy=NULL, envir=parent.frame())


  pattern: Regular expression pattern specifying which members to

           return. If '".*"', all names are matched.

      ...: A named 'vector' of format 'functionName=value', where
           'functionName()' will be called on each member found. If the
           result matches the 'value', the member is returned, otherwise

properties: Names of properties to be returned. There must exist a
           'function' with the same name, because it will be called.
           This way one can extract any type of property by defining new

   sortBy: Name or index of column (property) to be sorted by. If
           'NULL', the objects are listed in the order they are found.

  private: If 'TRUE', also private members, i.e. members with a name
           starting with a '.' (period), will be listed, otherwise not.

    envir: An 'environment', a search path index or a name of a package
           to be scanned.

Thus, stratification on 'mode' in the example abov is taken care of by the '...' argument.



Prof Brian Ripley wrote:
> On Mon, 6 Jun 2005, Liaw, Andy wrote:

>>> From: Duncan Murdoch
>>> On 6/6/2005 4:43 PM, Omar Lakkis wrote:
>>>> How can I get a list of the names of all exported functions
>>> in a library?
>>>> I load my library using library() and then want to
>>> dynamically get all
>>>> functions that start with "test."  to dynamically execute them.
>>> Use search() to see all the _packages_ that have been loaded.
>>>  If yours
>>> is second in the list (the typical spot just after calling the
>>> unfortunately named library() function), then ls(2) will list
>>> all of its
>>> exports.
>> Just to nitpick a bit:  That lists all _objects_ in position 2, which may
>> include objects that are not functions, although it's rare, if at all, 
>> that
>> a package database would contain non-functions...

> It's actually common: lazy-loaded datasets are there too, and 'base' has
> [1] "F" "LETTERS" "R.version" "R.version.string"
> [5] "T" "letters" "" ""
> [9] "pi" "version"
> 'stats' has "p.adjust.methods" ....
> Here's a simple function to find only the functions
> lsf <- function(n=2)
> {
> tmp <- ls(n, all=TRUE)
> isf <- sapply(tmp, function(x) is.function(get(x, pos=n)))
> tmp[isf]
> }
> and one could use the 'pattern' arg of ls() to restrict the set.
> mailing list PLEASE do read the posting guide! Received on Tue Jun 07 20:18:34 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:32:26 EST