blue sky wrote: > > I don't what '{' and functions available in R libraries. I can > manually exclude '{'. Is there an easy way to exclude the functions > from R libraries? >
Well, you could write a function, say isPackaged( name ), that returns TRUE or FALSE depending on whether the object matching `name` is part of a "package:" namespace. Of the top of my head, a quick version would use find(): isPackaged <- function( name ){ # find() returns the environment that contains # the object specified by `name` container <- find( name ) # Return the results of a check to see if the container # is a package by looking for the string 'package:' to # be at the start of the result returned by find() return( grepl( '^(package:)', container ) ) } You could then use a function like Filter() to separate the results of findglobals() into packaged and non-packaged variables: x=10 f=function() {print('in f')} g=function() {f(); print(x)} require( codetools ) globals <- findGlobals( g ) Filter( isPackaged, globals ) [1] "{" "print" Filter( Negate( isPackaged ), globals ) [1] "f" "x" There are probably corner cases that won't be handled by the above code, but it should be a start. Good luck! -Charlie -- View this message in context: http://n4.nabble.com/Is-there-a-way-to-figure-out-what-nonlocal-variables-and-functions-have-been-used-in-a-function-tp1478673p1490499.html Sent from the R help mailing list archive at Nabble.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.