Hi

r-help-boun...@r-project.org napsal dne 03.08.2010 13:03:33:

> Hi All,
> 
> I'm trying to run the following script in R, but I'm getting a warning 
saying:
> 
> Warning message:
> In if (z < 0) { :
>   the condition has length > 1 and only the first element will be used
> 
> As you can see, I'm sending a vector x to the function f without any
> problem. The function f calculates the y value for each x.
> 
> But the function f needs to convert the x to positive values (the mod
> function). And when it tries to convert, it always uses the first
> value of x.
> 
> What I'm doing wrong here?

Your function takes only one scalar argument so you can not use it on 
vector.

Hint. Look at See also help page of if command.

Regards
Petr

> 
> mod = function(x) {
>   if (x < 0) {
>     mod <- x*(-1)
>   }
>   else {
>     mod <- x
>   }
> }
> f = function(x) {
>   f <- mod(x)/x
> }
> x <- seq(-1,1,0.01)
> x
> y <- f(x)
> y
> plot(f,xlim = c(-1,1))
> remove(x,y,f,mod)
> 
> best regards,
> 
> -- 
> Pablo de Camargo Cerdeira
> pa...@fgv.br
> pablo.cerde...@gmail.com
> +55 (21) 3799-6065
> 
> ______________________________________________
> 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.

______________________________________________
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.

Reply via email to