Hi All,
Would be grateful,if anyone can answer my queries.
I need to share code. For example, if I am working in C/C++, I would put
some function declarations in .h files that you would include. In PHP, I
would create files with the common functions in them and then
"include()"
them. So far, I haven't been able to figure out what the standard practice
is in R.
The two options are:
1. Write everything in one file. No sharing of functions.
2. Write libraries - but you *have to package it* first to use it.
Neither is a good option. how you I share functions across two scripts?
there is "source()"
But are there any other way?
For example, in python, what I do is create common functions in a separate
file (say, called A), use those functions from file B by including it like I
would any other library. Then when I'm ready to 'release' it, I can
package
the library and the script...
I did find something:-----
http://www.ma.hw.ac.uk/~stan/R/Rnotes.pdf<http://www.ma.hw.ac.uk/%7Estan/R/Rnotes.pdf>says
:--
To create and edit functions, use the (built-in) R function edit. (As usual,
type ?edit at
the command prompt for details|see Section 10.)
Alternatively the function source|also available via the File menu|can be
used to input
lengthy function denitions from an externally edited le. (The function dump
will write an
existing function denition to a file.)
But then source() also ,not only loads but parses the file too.
https://stat.ethz.ch/pipermail/r-help/2007-October/142938.html
You can save one or more functions and datasets to a file (see ?save) then
on starting another session attach that file (see ?attach).
The process is like:---
foo <- function(x) mean(as.numeric(x), trim = 0.3)
save(foo, file = "myproject/rfunctions/saved.rda")
then, when starting a new session, use
attach("myproject/rfunctions/saved.rda")
The .rda extension on the filename is commonly used for saved R data
sets but you can also have function definitions in a saved file.
Are these the only ways,and the best ways,to do what I want?
*--
Thanks
Moumita*
--
Thanks
Moumita
[[alternative HTML version deleted]]
Moumita Das wrote:> Hi All, > > Would be grateful,if anyone can answer my queries. > > > I need to share code. For example, if I am working in C/C++, I would put > some function declarations in .h files that you would include. In PHP, I > would create files with the common functions in them and then "include()" > them. So far, I haven't been able to figure out what the standard practice > is in R. > > > > The two options are: > > > > 1. Write everything in one file. No sharing of functions. > > 2. Write libraries - but you *have to package it* first to use it.What you probably want is 2: Write a *package*. Packaging it does not take ages once you have tried it ... Uwe Ligges> > > Neither is a good option. how you I share functions across two scripts? > > > > there is "source()" > > But are there any other way? > > For example, in python, what I do is create common functions in a separate > > file (say, called A), use those functions from file B by including it like I > > > would any other library. Then when I'm ready to 'release' it, I can package > > the library and the script... > > > > I did find something:----- > > http://www.ma.hw.ac.uk/~stan/R/Rnotes.pdf<http://www.ma.hw.ac.uk/%7Estan/R/Rnotes.pdf>says > :-- > > > > To create and edit functions, use the (built-in) R function edit. (As usual, > type ?edit at > > the command prompt for details|see Section 10.) > > Alternatively the function source|also available via the File menu|can be > used to input > > lengthy function denitions from an externally edited le. (The function dump > will write an > > existing function denition to a file.) > > But then source() also ,not only loads but parses the file too. > > > https://stat.ethz.ch/pipermail/r-help/2007-October/142938.html > > You can save one or more functions and datasets to a file (see ?save) then > on starting another session attach that file (see ?attach). > > The process is like:--- > > > > foo <- function(x) mean(as.numeric(x), trim = 0.3) > > save(foo, file = "myproject/rfunctions/saved.rda") > > > > then, when starting a new session, use > > > > attach("myproject/rfunctions/saved.rda") > > > > The .rda extension on the filename is commonly used for saved R data > > sets but you can also have function definitions in a saved file. > > Are these the only ways,and the best ways,to do what I want? > > > *-- > Thanks > Moumita* >