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
                                                ]

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

Reply via email to