>>>>> Randall Pruim <[email protected]>
>>>>> on Tue, 20 Oct 2015 21:15:14 +0000 writes:
> A couple more questions for you:
> * what type of object do you want created? (A matrix? data frame?
something else?)
> * is there a reason to have 3 named arguments and then … if you are
treating them all the same in the end anyway? Seems like that just makes your
function less flexible and harder to code. But I don’t know your use case.
> As the previously sent example shows, you can easily apply cbind to all
of the items in … (without needing to know how many there were). I’m now
guessing that your attempt to calculate m was not needed. You can always
recover it from the number of columns in the object produced by cbind() if you
need it later.
> Good luck with what I hope is the more interesting part of your
programming project that comes after this.
> —rjp
Sorry to be a bit sarcastic, but if you had not *mis*used
R-SIG-teaching and rather used R-help for asking a somewhat
basic question about R, you would have gotten better answers
more quickly than all the preceding answers:
The answer is to use nargs()
[which even in its name suggests to give what you ask in the
e-mail subject of this thread]
Martin Maechler
>> On Oct 20, 2015, at 4:17 PM, Steven Stoline <[email protected]> wrote:
>>
>> Dear Michael:
>>
>> Thank you very much for your quick reply.
>>
>> Just one more thing. Assume we have these three data sets (vectors), but
>> could be 4, 5 or more data sets.
>>
>> x1<-c(1,2,3,4,5)
>> x2<-c(11,22,33,44,55)
>> x3<-c(111,222,333,444,555)
>>
>>
>> Inside the same fumction I do need to use the cbind() function to cbind
>> these m (m could be 2, 3, 4, or any numbers) data sets. This what I
trired,
>> but it did not work.
>>
>> f <- function(x1,x2,x3){
>> m<-length(formals(sys.function()))
>>
>> print(m)
>>
>> data<-cbind(x1,x2,...,xm) #### I need
>> some help with this part
>>
>> print(data)
>>
>> }
>>
>> f(x1,x2,x3)
>>
>>
>>
>> with thanks
>> steve
>>
>>
>>
>> On Tue, Oct 20, 2015 at 3:51 PM, Michael Weylandt <
>> [email protected]> wrote:
>>
>>> On Tue, Oct 20, 2015 at 2:45 PM, Steven Stoline <[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
>>>>
>>>> }
>>>>
>>>
>>>
>>> It's not entirely kosher, but
>>>
>>> length(formals(sys.function()))
>>>
>>> will work.
>>>
>>> f <- function(a, b,c, d, e, f){
>>> length(formals(sys.function()))
>>> }
>>>
>>> f() ## 6
>>>
>>
>>
>>
>> --
>> Steven M. Stoline
>> 1123 Forest Avenue
>> Portland, ME 04112
>> [email protected]
>>
_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-teaching