2011-02-24 41 views
19

可能重複:
Is there a way to get a vector with the name of all functions that one could use in R?獲取R中的全球環境中加載的功能列表

我想來自R得到的加載函數列表環境。
我知道ls(),它給出了加載對象的列表。但有些對象不是功能。
我想從函數中清理我的env,而不是從包含我不希望丟失的結果的其他對象(矩陣,數組等)中清除我的env。

有什麼想法?

+2

重複http://stackoverflow.com/q/4267744/429846? – 2011-02-24 10:41:23

+0

不,stackoverflow.com/q/4267744/429846是來自包的函數,我在說ls中的函數() – RockScience 2011-02-24 10:50:18

+0

我沒有注意到,但是,是的,它是重複的。曾經嘗試過那裏的解決方案?哎呀,我只是意識到我甚至給出了完全相同的答案。 – 2011-02-24 11:03:40

回答

26

?lsf.str

X <- lsf.str() 
as.vector(X) # just for printing purposes, you can use the vector in rm() 
rm(list=X) 
+0

變化:'c(lsf.str())' – 2011-02-24 15:11:37

+0

@G。格洛騰迪克:或將所有內容組合爲'rm(list = lsf.str())' – 2011-02-24 15:23:28

1

好吧,我有一個提議

rm(list=ls()[sapply(ls(), function(obj) "function"==class(eval(parse(text = obj)))[1])]) 

我相信有一些更優雅。