Dirk and Uwe, many thanks both for your responses. I'm still having the same issue. Here's in more detail:
As Dirk suggested, I've done the following: * I've created a package named {foo}. * {foo} only has one file named test.R which includes exactly the following code: multiply <- function(x,y) x * y timestwo <- function(x) multiply(x, 2) * I've modified the NAMESPACE to include ONLY the following line: export(multiply) * I've successfully built and installed the foo package * Then in R I got this: > library(foo) > multiply(2,3) [1] 6 > timestwo(2) Error: could not find function "timestwo" > * However, if in the NAMESPACE I write instead export(multiply, timestwo), then I don't get the error above. * btw, here's my session info > sessionInfo() R Under development (unstable) (2014-01-17 r64821) Platform: x86_64-apple-darwin10.8.0 (64-bit) locale: [1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] foo_1.0 Thanks, Axel. On Sat, Jan 25, 2014 at 4:32 PM, Uwe Ligges <lig...@statistik.tu-dortmund.de > wrote: > > > On 25.01.2014 14:53, Dirk Eddelbuettel wrote: > >> >> On 25 January 2014 at 14:38, Axel Urbiz wrote: >> | Hello, >> | >> | I'm building a package. My code is stored in foo.R. This code has two >> | functions FUN1 and FUN2. FUN1 calls FUN2. FUN1 is listed in export() >> under >> | the package NAMESPACE but NOT FUN2. After building the package when I >> call >> | FUN1 is giving me an error that cannot find FUN2. >> >> Then you are doing something wrong in building, or possibly testing, the >> package. >> > > > I guess you have FUN1 in your Workspace and using that rather than the one > in your package. > > Uwe Ligges > > > > "Everything within" can see everything else. >> >> | I solved this by adding FUN2 in the export() NAMESPACE. However, what is >> | puzzling me is that I have other examples similar to the above (i.e., >> one >> | function calling another but only one exported) in the same package >> where I >> | don't get the error message. >> | >> | Any idea of why that might be the case? My understanding is that export >> >> We cannot tell without seeing the code. >> >> I suggest you spend two minutes with package.skeleton(), create an empty >> package, put something like these two functions in >> >> multiply <- function(x, k) x * k >> >> timestwo <- function(x) multiply(x, 2) >> >> to convince yourself that timestwo() can in fact use multiply(). >> >> | only controls what is visible to the end user but functions not listed >> in >> | export() are still "usable" within the package. >> | >> | In this case, the reason I'd like to avoid to export FUN2 is so I don't >> | have to add it in the package documentation. >> | >> | >> | Any guidance is much appreciated. >> | >> | Regards, >> | Axel. >> | >> | [[alternative HTML version deleted]] >> | >> | ______________________________________________ >> | R-devel@r-project.org mailing list >> | https://stat.ethz.ch/mailman/listinfo/r-devel >> >> [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel