On Thu, Feb 9, 2012 at 2:54 AM, arunkumar1111 <akpbond...@gmail.com> wrote: > Hi > > I'm storing two functions in a list > > # creating two function > function1 <- function(n) { > return(sum(n)) > } > > function2 <- function(n) { > return(mean(n)) > } > > #storing the function > function3 =c(function1,function2) > > is it possible to call the stored function and used it ? > > x=c(10,29) > funtion3[1](x) >
In addition to [[ as in the other response also try this: L <- list(function1 = sum, function2 = mean) L$function1(1:3) Note that the proto package is somewhat similar but stores functions in environments rather than lists and also supports a type of object oriented programming: library(proto) p <- proto(function1 = function(., n) sum(n), function2 = function(., n) mean(n), function3 = function(.) mean(.$x), x = 1:10 ) p$function1(1:3) p$function3() # mean of 1:10 p$x <- 1:5 p$function3() # mean of 1:5 # define child p2 with its own x overriding p's x p2 <- p$proto(x = 10:15) # p2 has its own x so this is mean of 10:15 # p2 inherits its methods from p so its has a # function3 too p2$function3() p$function3() # p unchanged. Still mean of 1:5. -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.