On 11-09-08 5:28 AM, Jannis wrote:
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?
If you chose to export those names, they would be visible. If you
didn't export them, they wouldn't. The default NAMESPACE generated by
package.skeleton would not export them.
Duncan Murdoch
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.