On Nov 7, 2010, at 12:25 PM, David Winsemius wrote:
On Nov 7, 2010, at 11:40 AM, Carl Witthoft wrote:
Hi all,
Just thought I'd post this (maybe) helpful tool I wrote. For
people like me who are bad at keeping a clean environment, it's a
time-saver.
#simple command to get only one type of object in current environment
lstype<-function(type='closure'){
inlist<-ls(.GlobalEnv)
if (type=='function') type <-'closure'
typelist<-sapply(sapply(inlist,get),typeof)
return(names(typelist[typelist==type]))
}
As a fellow messy-enviromnetalist that was useful. Here's a similar
function that returns a vector of object names belonging to a
particular (single) class:
> getclass <- function(cls) ls(envir=.GlobalEnv)[
sapply(ls(envir=.GlobalEnv), function(x)
class(eval(parse(text=x))) ) == cls ]
Here is a version that substitutes get(...) for eval(parse(text= ...)
making it a bit less subject to "fortune hunters" and removes the
limitation to one-class objects:
getclass <- function(cls="data.frame") ls(envir=.GlobalEnv)[
sapply(
sapply(ls(envir=.GlobalEnv), function(x)
class(get(x)) ),
function(y) cls %in% y) ]
--
David.
> getclass("data.frame")
[1] "d" "df" "set1HLI"
> getclass("function")
[1] "capture.ps" "getclass" "getsizes" "getweek"
"is.defined"
[6] "maintainer" "myfunction" "rd.txt" "rhelpSearch"
"write.clip"
It is not designed to identify multi-class objects, so it would miss
a class of "lm" if there were 2 members in a class vector.
Carl
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.