[R] Why 'return' is needed in R?
Duncan Murdoch
murdoch at stats.uwo.ca
Tue Oct 27 15:22:18 CET 2009
On 10/27/2009 10:12 AM, Peng Yu 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'?
If you want to return early from a function you need it, e.g.
f <- function(x) {
if (x < 10) return(x^2)
x <- x + 1
x
}
Often these can be rewritten without the explicit return(), but they can
be less clear. For example, the above is equivalent to
f <- function(x) {
if (x < 10) x^2
else {
x <- x + 1
x
}
}
but here it is not obvious that the x^2 is really the value of the last
statement in the function.
Duncan Murdoch
>
>> f<-function(x) {
> + x
> + }
>> g<-function(x) {
> + return(x)
> + }
>> print(f(2))
> [1] 2
>> print(g(2))
> [1] 2
>>
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list