[R] Using subset() in a user-defined function

Tobin, Jared TobinJR at DFO-MPO.GC.CA
Thu Jun 14 15:38:41 CEST 2007


Hello,

I'm having a problem with using subset() inside a function I'm writing.
Ignoring everything else in the function, the problem can be illustrated
by (where master.frame is the data frame I'm using):


function1 <- function(arg1="", arg2="", arg3=""){

	temp.frame <- subset(master.frame, a == arg1 & b == arg2 & c ==
arg3)

}


This works fine if the user specifies all arguments, but if any one or
more of the arguments isn't specified, say arg1 for example, the subset
is empty because subset() goes looking for values of a == "" in
master.frame, and there are none.  I want it to work such that if an
argument is not specified, it is not included in what subset() goes
looking for.  So if I were to input:

function1(arg2=5, arg3=6)

then in function1, the subset command will look like

	temp.frame <- subset(master.frame, b == 5 & c == 6)


Any suggestions would be much appreciated.

Thanks,

--

jared tobin, student research assistant
dept. of fisheries and oceans
tobinjr at dfo-mpo.gc.ca



More information about the R-help mailing list