Thanks, Duncan, for your reply. You are right, the () in my code are not correct. Maybe my problem is that I do not really understand the exact effect of this dot . I have no tried with the following file in my /R folder in the package:

mainfunction<- function(x) {
   x2 <- .subfunction1(x)
   x3 <- .subfunction2(x2)
   x3
}

.subfunction1<- function(x) {
  x*2
}
.subfunction2<- function(x) {
  x*2
}

After I build the package and load it into R an run (for example):

mainfunction(2)

I get 8, which indicates that the functions are working. The reason that made me believe beforehand that the code is not working is that when I type the following to see the code of the function:

.subfunction1

or run:

.subfunction1(2)

I get an error that the object .subfunction1 can not be found. Is this the desired effect of adding the dot to the function name? Or do I do something wrong here?


Thanks
Jannis




On 09/06/2011 04:46 PM, Duncan Murdoch wrote:
On 11-09-06 10:26 AM, Jannis wrote:
Dear list members,


i have build a package which contains a collection of my frequently used functions. To keep the code organized I have broken down some rather extensive and long functions into individual steps and bundled these steps in sub-functions that are called inside the main function.

To keep an overview over which sub-function belongs to which main function I saved all the respective sub-functions to the same *.R file as their main-function and gave them names beginning with . to somehow hide the sub-functions. The result would be one *.R file in<package>/R for each 'main-function' containing something like:


mainfunction<- function() {
   .subfunction1()
   .subfunction2()
   #...
}

.subfunction1()<- function() {
  #do some stuff
}
.subfunction2()<- function() {
  #do some more stuff
}


According to the way I understood the "Writing R Extensions" Manual I expected this to work. When I load the package, however, I get the error message that the sub-functions could not be found. Manually sourcing all files in the<package>/R directory however yields the expected functionality.

In what way am I mistaken here? Any ideas?

Those definitions of .subfunction1 and .subfunction2 are not syntactically correct: extra parens. If that's just a typo in the message, then you'll have to show us real code. What you describe should work.

Duncan Murdoch


______________________________________________
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.

Reply via email to