There have been several solutions like:
k[k != 3]
The more general form of this idea is:
k[!(k %in% 3)]
Sticking closer to the original form would be:
out <- which(k == 3)
if(length(out)) k[-out] else k
Patrick Burns
patrick_at_burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of S Poetry and "A Guide for the Unwilling S User")
Shubha Vishwanath Karanth wrote:
> Hi R,
>
>
>
> Suppose
>
> l=c(1,1,1,2,2,1,1,1)
>
>
>
> k[-which(k==1)]
>
> [1] 2 2
>
>
>
> k[-which(k==2)]
>
> [1] 1 1 1 1 1 1
>
>
>
> But,
>
>
>
> k[-which(k==3)]
>
> numeric(0)
>
>
>
> I do not want this numeric(0), instead the whole k itself should be my
> result... How do I do this?
>
>
>
>
>
> Thanks,
>
> Shubha
>
>
>
> This e-mail may contain confidential and/or privileged i...{{dropped:13}}
>
> ______________________________________________
> 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.
>
>
>
Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.
Archive generated by hypermail 2.2.0, at Thu 15 May 2008 - 10:30:36 GMT.
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.