[R] Issue with match.call

Joshua Wiley jwiley.psych at gmail.com
Mon Oct 4 16:39:31 CEST 2010


Hi,

Something along these lines should get you there:

RFF <- function(qtype, qOpt, ...) {
  mc <- match.call(expand.dots=TRUE)
  vec <- c("flag","sep","dec")
  matchedargs <- match(vec, names(mc), FALSE)
}

'matchedargs' will be a vector of the positions in mc where it matched
'vec' (or 0 if it did not).  If you just want to extract the actual
arguments passed afterward, use the [[ extraction operator.

Cheers,

Josh

On Mon, Oct 4, 2010 at 6:45 AM, rajeshj at cse.iitm.ac.in
<rajeshj at cse.iitm.ac.in> wrote:
>
> Hi,
>
> I have a function that I'm writing. The arguments in the function are as follows
>
> RFF<-function(qtype, qOpt,...){}
> i.e., I have two args that are compulsary and the rest are optional. Now when my user passes the function call, I need to see what optional args are defined and process accordingly...what I have so far is..
>
> RFF<-function(qtype, qOpt,...){
>        mc <- match.call(expand.dots=TRUE)
>  }
>
> I need to see what all args have been sent out of
> vec<-c("flag","sep","dec") and define if-else conditions based on whether they have been defined. How do I do this?
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/



More information about the R-help mailing list