[R] How to load functions in R

Martin Maechler maechler at stat.math.ethz.ch
Thu Sep 11 17:07:58 CEST 2008


>>>>> "YX" == Yihui Xie <xieyihui at gmail.com>
>>>>>     on Thu, 11 Sep 2008 22:47:47 +0800 writes:

    YX> We may just read them in the R console instead of an external editor,
    YX> and "fix()" or "edit()" them when we need to make any modifications. A
    YX> trivial advantage of saving them as an image file in Windows is that
    YX> you can double-click the file and R will be started with these objects
    YX> loaded automatically. Anyway, to save the functions as ASCII files or
    YX> even write a package are also good solutions :-)
    	     	     	     	 ^^^^^^^^^

    "also good..."  baahh...  *THE* good!

I'd strongly second Adai's view here:

*DO* use  *.R source files --- together with an R-syntax aware
     	      	     	       editor, there are many nowadays
and source() them, as a first step;
put them in an own package as a 2nd step.
 	 
Martin Maechler, ETH Zurich

    YX> Regards,
    YX> Yihui

    YX> On Thu, Sep 11, 2008 at 10:34 PM, Adaikalavan Ramasamy
    YX> <a.ramasamy at imperial.ac.uk> wrote:
    >> I would recommend saving the functions into a separate file and then using
    >> source() as bartjoosen suggested.
    >> 
    >> I do not recommend using save() here because the output is non-readable
    >> (even when using ascii=TRUE option). Which means that you have to load() it,
    >> then copy-and-paste into an editor before making changes and then running it
    >> again in R and then save() again.
    >> 
    >> Another better option is to consider making your own package. It may sound
    >> complicated but once you mastered it, it makes your functions more portable
    >> and encourages you to document it. Further, the function package.skeleton()
    >> simplifies much of it.
    >> 
    >> Regards, Adai
    >> 
    >> 
    >> 
    >> Yihui Xie wrote:
    >>> 
    >>> Hi, you may save your functions somewhere on your disk using "save()"
    >>> and load them next time when you want to use them. See ?save and ?load
    >>> 
    >>> Yihui
    >>> 
    >>> On Thu, Sep 11, 2008 at 9:30 PM,  <Mihai.Mirauta at bafin.de> wrote:
    >>>> 
    >>>> Hello,
    >>>> 
    >>>> I am trying to use self created functions in other scripts than the one
    >>>> where they are stored.
    >>>> For the moment I am using the following structure of commands to do
    >>>> that:
    >>>> 
    >>>> 1. Load the text file with the functions in the current script:
    >>>> x=parse("path")
    >>>> 2. transform the tex in a function: f1=eval(x[1]), f2=eval(x[2]) if more
    >>>> than one function is stored in the text file
    >>>> 3. use the functions as normal
    >>>> 
    >>>> Is there another possibility to do the same?
    >>>> Thank you,
    >>>> 
    >>>> Mihai Mirauta
    >>>> 
    >>>> [[alternative HTML version deleted]]
    >>>> 
    >>> 
    >> 
    >> 



    YX> -- 
    YX> Yihui Xie <xieyihui at gmail.com>
    YX> Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086
    YX> Mobile: +86-15810805877
    YX> Homepage: http://www.yihui.name
    YX> School of Statistics, Room 1037, Mingde Main Building,
    YX> Renmin University of China, Beijing, 100872, China

    YX> ______________________________________________
    YX> R-help at r-project.org mailing list
    YX> https://stat.ethz.ch/mailman/listinfo/r-help
    YX> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    YX> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list