[R] Writing R-scripts

Jim Lemon jim at bitwrit.com.au
Tue Feb 14 09:31:44 CET 2012


On 02/14/2012 08:59 AM, Cem Girit wrote:
> Hello,
>
> 	This is my first attempt to write a script in R. The program below
> is intended to do some parametric tests on group data. There are subroutines
> for each type of test. The call to the "parametric.tests", routine sets the
> argument "testtype" for the test to be used. How can I transfer the
> calculated values (in "result" below) in each routine to the calling
> parametric.tests routine?
>
Hi Cem,
You may find it easier to use the do.call method and the clean.args 
function:

library(plotrix)
parametric.tests<-function(testfun,arglist) {
  result<-do.call(deparse(substitute(testfun)),
   clean.args(arglist,testfun))
  return(result)
}
parametric.tests(mean,list(x=1:5,na.rm=TRUE,foo="?"))

If the function called ("testfun") is available, and the argument 
"arglist" contains sufficient arguments for it to run, it will return 
the value of the function. The reason for using "clean.args" is in case 
you are passing a fixed list of arguments, all of which may not be 
appropriate for any of the functions that you want to pass as "testfun".

Jim



More information about the R-help mailing list