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
<snip></snip>
1008 zapsmall function NULL 3068
1009 zip.file.extract function NULL 5232
> help(ll)
Usage:
ll(pattern=".*", ..., private=FALSE, properties=c("data.class",
"dimension", "object.size"), sortBy=NULL, envir=parent.frame())
Arguments:
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
not.
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
methods.
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.
Cheers
/Henrik
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" "month.abb" "month.name"
[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.
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html