[R] Odp: The condition has length > 1 and only the first element will be used
Petr PIKAL
petr.pikal at precheza.cz
Tue Aug 3 13:15:30 CEST 2010
Hi
r-help-bounces at 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
> pablo at fgv.br
> pablo.cerdeira at gmail.com
> +55 (21) 3799-6065
>
> ______________________________________________
> 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