[R] return(x=x,y=y,prob=prob) hasn't been used in R now?

Prof Brian Ripley ripley at stats.ox.ac.uk
Sun Sep 23 14:03:04 CEST 2007


On Sun, 23 Sep 2007, Peter Dalgaard wrote:

> zhijie zhang wrote:
>> Dear friends,
>>  Now, when i use the argument return(x=x,y=y,prob=prob) , R  displays the
>> waring message:
>> Warning message:
>> The return value for multiple variables wasn't used  in: return(x = x, y =
>> gy, prob = prob)
>>  I used the methods of  "help.search("return")" and "?return" to get some
>> help, but didn't find info on it.
>>  Anybody knows how it should be used correctly?
>>
> Return(value) takes only one argument. To return a list,
> return(list(x=x,y=y,prob=prob))
>
> I bet the author of help(return) thought that this was implied clearly
> enough.

and the warning message in English is not what is quoted here:

> f <- function() return(x=pi, y=pi)
> f()
$x
[1] 3.141593

$y
[1] 3.141593

Warning message:
In return(x = pi, y = pi) : multi-argument returns are deprecated

so they are in fact used.  What is puzzling is that anyone is still trying 
to use them years after they were deprecated (and as the help page says 
they were never documented in S, quite how they ever got into circulation 
in R).


>
>> #EXAMPLES
>> a<-function(x,y,z)
>>  {
>>   gx<-seq(1,10,length.out=20)
>>   gy<-gx
>>   prob<-matrix(20,20)
>>   for (i in 1:20)
>>    {
>>     for (j in 1:20)
>>      {
>>       prob<-0.1
>>      }
>>    }
>>  return(x=gx,y=gy,prob=prob)
>>  }
>>
>> a(1,1,1)  # the warning message will display
>>  Thanks.
>>
>>
>
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list