find all functions (including private) in a package

后端 未结 2 390
失恋的感觉
失恋的感觉 2020-12-01 02:14

I know ls(\"package:grid\") and find.funs(\"package:grid\") in mvbutils but apparently neither of them can find non-exported functions

相关标签:
2条回答
  • 2020-12-01 02:31

    you can use asNamespace:

    > methods(cbind)
    [1] cbind.data.frame cbind.grobGrid   cbind.ts*       
    
       Non-visible functions are asterisked
    > r <- unclass(lsf.str(envir = asNamespace("stats"), all = T))
    > r[grep("cbind.ts", r)]
    [1] ".cbind.ts" "cbind.ts" 
    

    cbind.ts in stats package is invisible but can find in envir = asNamespace("stats").

    0 讨论(0)
  • 2020-12-01 02:41

    This appears to be something of a perennial here.

    If it's this one-liners you're after then this should be a contender (credit @Joshua):

    ls(getNamespace("grid"), all.names=TRUE)
    

    (Link is to a question that was asked after the above, but closely related).

    As grid is a base package and I haven't yet moved up to R 3... I'm getting 756 functions with Version 2.15.1. vs. 503 from the unclass solution.

    0 讨论(0)
提交回复
热议问题