You can get a list of all functions in your workspace with ls()[sapply(ls(), function(x) is.function(get(x)))] # or ls()[sapply(sapply(ls(), get), is.function)]
Removing everything else is rm(list=ls()[sapply(ls(), function(x) !is.function(get(x)))]) # or rm(list=ls()[!sapply(sapply(ls(), get), is.function)]) That suffices if you don't have any names starting with .period; if you do, you'll need ls(all=TRUE) KK On Mon, Feb 2, 2009 at 3:16 PM, Paulo Grahl <pgr...@gmail.com> wrote: > Dear list members, > > Does anyone know how to use rm() to remove only variables but not > declared functions from the environment ? > I understand I could name all the functions with, let's say > "f_something", make sure that all variables do not start with "f_" and > then remove all BUT objects starting with "f_". > However, I have already defined all the functions and it would be > troublesome to change all of them to a new name. > > Any hint ? > Thanks > > Paulo Gustavo Grahl, CFA > > ______________________________________________ > 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. > [[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.