[R] Creating a new vector

Gabor Grothendieck ggrothendieck at gmail.com
Mon Nov 20 15:33:26 CET 2006

Here are 3 possibilities:

y <- seq(-3, 3) # test data

ifelse(y < 0, y, NA)

replace(y, y >= 0, NA)

z <- y
z[y >= 0] <- NA

On 11/20/06, Amir Safari <amsa36060 at yahoo.com> wrote:
>     Dear R Users,
>  Suppose we want to creat a new vector ( x ) from a current vector (y)  of length 1000. The current vector y includes negative, zero and  positive values. We want our new vector x includes the negative values  in y, otherwise NA with the same length as y.
>  For this, we have  x=y[y<0]  . Now x includes a subset of  y with shorter length than y. With x=match(y,x) we would have  a  vector of indices equal to the length of y. x=y[x] gives us a vector of  values with the same length as y. But when I implement such a  procedure, x dose not merely include negative values. It includes  negative, NA and also positive values.
>  What could be the reason for appearing pasitive values? And how to  correct this? And more generally how can this purpose be coded more  convenient?
>  Thank you so much for any reply.
>  Amir Safari
> ______________________________________________
> R-help at stat.math.ethz.ch 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