[R] Function not returning a vector?
Achim Zeileis
Achim.Zeileis at wu-wien.ac.at
Thu Aug 28 20:48:04 CEST 2008
On Thu, 28 Aug 2008, rkevinburton at charter.net wrote:
> Why does:
>
> (shape/scale) * (1:365/scale)^(shape - 1)
>
> return a vector of numbers but calling a function
>
> hasard(1:365,shape,scale)
>
> defined like:
>
> hazard <- function(x,shape,scale)
> {
> return (shape/scale) * (x/scale)^(shape - 1)
^^^^^^^^^^^^^^^^^^^^
return() is a function, its argument is returned, everything afterwards is
ignored. And shape/scalar is probably a scalar in your case...
So either change to
return((shape/scale) * (x/scale)^(shape - 1))
or simply
(shape/scale) * (x/scale)^(shape - 1)
without explicitely calling return().
> }
>
> Only return a single value? It is like x becomes a single value passed as an argument.
>
> Thank you.
>
> Kevin
>
> ______________________________________________
> 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