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

______________________________________________
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.

Reply via email to