Look at the help page for 'if':

"A length-one logical vector that is not NA. Conditions of length
greater than one are accepted with a warning, but only the first
element is used. Other types are coerced to logical if possible,
ignoring any class."

If you want the positive value, why aren't you using 'abs'?

You might want to look at the 'ifelse' function to work with vectors.
You would do something like:

mod <- ifelse(x < 0, x * (-1), x)

You probably need to re-read the Intro to R to understand more about
vectorized operators/operations.

On Tue, Aug 3, 2010 at 7:03 AM, Pablo Cerdeira <pablo.cerde...@gmail.com> wrote:
> 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?
>
> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

______________________________________________
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