Did you read the help? If you use return(), that value is returned regardless of where in the function it appears. This can be used in conditionals, for example.
If the function never hits a return value, the value of the last evaluated expression is returned. testfunction <- function(x, controlvar="a") { if(controlvar != "a") { return(x^2) } x + 1 } > testfunction(4, "a") [1] 5 > testfunction(4, "b") [1] 16 Sarah On Tue, Oct 27, 2009 at 10:12 AM, Peng Yu <pengyu...@gmail.com> wrote: > It seems that 'return' is not necessary when returning a value. If > this is the case, I don't understand why 'return' is a keyword in R. > Is there a case in which I have to use 'return'? > >> f<-function(x) { > + x > + } >> g<-function(x) { > + return(x) > + } >> print(f(2)) > [1] 2 >> print(g(2)) > [1] 2 >> -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.