I think perhaps it would be useful if you tipped your hand a bit more about 
what you are actually trying to do with your function, but I think that this 
does the immediate task for functions that have … in the argument list.


foo <- function(x=1, y=2, z=3, ...) {
  m <- length(formals()) + length(list(...)) - 1
  m
}

The -1 is because … gets counted in the formal arguments, but we don’t want 
that in m.

Of course, for a particular function, you could replace length(formals()) with 
the number of formals you actually have, since this won’t change.

But perhaps I’m misunderstanding the overall goal.

—rjp

On Oct 20, 2015, at 3:45 PM, Steven Stoline 
<[email protected]<mailto:[email protected]>> wrote:

Dear All:

I am wondering whether there is a way to read and assign the number of
arguments of a function inside this function.


### For example

fun<-function(x1,x2,x3,...){

m<- number of arguments

}

### e.g.

fun<-function(x1,x2,x3){

m<- number of arguments

### m =3 in this case

}

### e.g.

fun<-function(x1,x2,x3,y1,z1,z2){

m<- number of arguments

### m =6 in this case

}




with thanks
Steve

--
Steven M. Stoline
1123 Forest Avenue
Portland, ME 04112
[email protected]<mailto:[email protected]>

[[alternative HTML version deleted]]

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-teaching


        [[alternative HTML version deleted]]

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-teaching

Reply via email to