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 > On Oct 20, 2015, at 4:17 PM, Steven Stoline <sstol...@gmail.com> 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 < > michael.weyla...@gmail.com> wrote: > >> On Tue, Oct 20, 2015 at 2:45 PM, Steven Stoline <sstol...@gmail.com> >> 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 > sstol...@gmail.com > > [[alternative HTML version deleted]] > > _______________________________________________ > R-sig-teaching@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-teaching _______________________________________________ R-sig-teaching@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-teaching