Re: [R] stupid R tricks

2010-11-21 Thread Carlos J. Gil Bellosta

On 11/07/2010 08:06 PM, David Winsemius wrote:


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) ]



Hello,

A simpler, less verbose version:

getclass - function(cls=data.frame)
Filter( function( b ) any( cls  %in% class( get( b ) ) ), ls( 
envir=.GlobalEnv ) )


Best regards,

Carlos J. Gil Bellosta
http://www.datanalytics.com

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


[R] stupid R tricks

2010-11-07 Thread Carl Witthoft

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]))
}



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.


Re: [R] stupid R tricks

2010-11-07 Thread David Winsemius


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


Re: [R] stupid R tricks

2010-11-07 Thread David Winsemius


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


Re: [R] stupid R tricks

2010-11-07 Thread Henrique Dallazuanna
See 'mode' argument in ls.str function.

On Sun, Nov 7, 2010 at 2:40 PM, Carl Witthoft c...@witthoft.com 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]))
 }



 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.




-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40 S 49° 16' 22 O

[[alternative HTML version deleted]]

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