> -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Nordlund, Dan (DSHS/RDA) > Sent: Tuesday, February 14, 2012 11:24 AM > To: r-help@r-project.org > Subject: Re: [R] execute array of functions > > > -----Original Message----- > > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > > project.org] On Behalf Of Muhammad Rahiz > > Sent: Tuesday, February 14, 2012 11:03 AM > > To: x.r-help > > Subject: [R] execute array of functions > > > > Hi all, > > > > I'm trying to get the min and max of a sequence of number using a > loop > > like the folllowing. Can anyone point me to why it doesn't work. > > > > Thanks. > > > > type <- c("min","max") > > n <- 1:10 > > for (a in 1:2) { > > print(type[a](n)) } > > > > > > -- > > Muhammad > > > > I am not sure why you are trying to use this approach in a loop, but > you need to use the get() function if you want to do this. > > type <- c("min","max") > n <- 1:10 > for (a in 1:2) { > print(get(type[a])(n)) > } > > But, why not use min and max on n directly? > >
I probably should have pointed out that the reason your code doesn't work is that type is a vector of character strings with function names, not the actual functions. Another approach would be to store the actual functions, rather than the names in type. So something like type <- c(min,max) n <- 1:10 for (a in 1:2) { print(type[[a]](n)) } But maybe someone more expert can tell you the 'best' or more R-ish way of accomplishing what you want. Dan Daniel J. Nordlund Washington State Department of Social and Health Services Planning, Performance, and Accountability Research and Data Analysis Division Olympia, WA 98504-5204 ______________________________________________ R-help@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.