On Thu, 2007-06-28 at 17:29 +0800, R. Leenders wrote: > Hi, I am pretty new to R, so I apologize for the obvious question. > I > have worked with R for a few months now and in the process have written > several functions that I frequently use in various data analysis > projects. I tend to give each project a directory of its own and set > the working directory to that. > Since there are several tasks that > need to be accomplished in many of my projects, I frequently want to > use functions I have written previously. My question is, how do I get > access to them? The way I do it now is copy the relevant code to the > script file of the project I am working on at the time and then run it > so as to make the functions available. But that seems to be > unnecessarily cumbersome. I used to work a lot with gauss, which had > the opportunity of putting one's own functions is one directory and > gauss would then have that directory in its search path always. How can > I access my own functions in R without having to copy-paste them > everytime and run them manually so I can call them later? Do I need to > learn how to write a package and attach the package to make the > functions available at all times? Is there another way?
Building a package is one way, and not that difficult once you've read the Writing R Extensions manual. An alternative is to have a directory where you keep R function scripts. Put your functions in here in text files with say a .R extension. Then in R you can source one or more of these R scripts as required, using the source() function. Say you have a directory, myScripts at the base of file system (/home/user say on Linux or C:\ on Windows). in this directory there is a file called my_r_function.R. To use this script/function in an R session, you would issue: ## replace /home/user/ with what ever is the correct path for your ## system source("/home/user/myScripts/my_r_function.R") Which would make available to your current session any functions defined in my_r_function.R. Read ?source for more information. HTH G > > thanks, James > > > > > > ____________________________________________________________________________________ > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@stat.math.ethz.ch 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. -- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ R-help@stat.math.ethz.ch 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.