[R] Delete rows from data.frame matching a certain criteria
jim holtman
jholtman at gmail.com
Thu Mar 1 18:47:54 CET 2012
Your criteria did not make sense since in both cases pattern == 1, so
I chose to set to NA if pattern == 1
> test <- data.frame(n = c(1,2,3,4,5), v = c(6,5,7,5,3), pattern =
+ c(1,1,NA,1,NA))
> test
n v pattern
1 1 6 1
2 2 5 1
3 3 7 NA
4 4 5 1
5 5 3 NA
> # set v to NA when pattern = 1
> test$v[!is.na(test$pattern) & (test$pattern == 1)] <- NA
> test
n v pattern
1 1 NA 1
2 2 NA 1
3 3 7 NA
4 4 NA 1
5 5 3 NA
>
>
On Thu, Mar 1, 2012 at 11:11 AM, mails <mails00000 at gmail.com> wrote:
>
> Hello,
>
>
> consider the following data.frame:
>
> test <- data.frame(n = c(1,2,3,4,5), v = c(6,5,7,5,3), pattern =
> c(1,1,NA,1,NA))
>
> > test
> n v pattern
> 1 1 6 1
> 2 2 5 1
> 3 3 7 NA
> 4 4 5 1
> 5 5 3 NA
>
>
> I tried to use apply and the adply function to set v to NA where pattern =
> 1
> and v to v where pattern = 1
>
>
> So basically the result should look like this:
> > test
> n v pattern
> 1 1 NA 1
> 2 2 NA 1
> 3 3 7 NA
> 4 4 NA 1
> 5 5 3 NA
>
> So far, I solved it by creating subsets and using merge but it turns out
> to
> be super slow. Is there a way to do that
> with the apply function?
>
> Any help/hint is appreciated
>
> Thanks
>
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/Delete-rows-from-data-frame-matching-a-certain-criteria-tp4435414p4435414.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.
More information about the R-help
mailing list