> On Dec 8, 2017, at 6:16 PM, David Winsemius <dwinsem...@comcast.net> wrote: > > >> On Dec 8, 2017, at 4:48 PM, Ashta <sewa...@gmail.com> wrote: >> >> Hi David, Ista and all, >> >> I have one related question Within one group I want to keep records >> conditionally. >> example within >> group A I want keep rows that have " x" values ranged between 15 and 30. >> group B I want keep rows that have " x" values ranged between 40 and 50. >> group C I want keep rows that have " x" values ranged between 60 and 75. > > When you have a problem where there are multiple "parallel: parameters, the > function to "reach for" is `mapply`. > > mapply( your_selection_func, group_vec, min_vec, max_vec) > > ... and this will probably return the values as a list (of dataframes if you > build the function correctly, so you may may need to then do: > > do.call(rbind, ...)
do.call( rbind, mapply( function(dat, grp, minx, maxx) {dat[ dat$GR==grp & dat$x >= minx & dat$x <= maxx, ]}, grp=LETTERS[1:3], minx=c(15,40,60), maxx=c(30,50,75) , MoreArgs=list(dat=DM), IMPLIFY=FALSE)) GR x y A.1 A 25 125 A.2 A 23 135 B.5 B 45 321 B.6 B 47 512 C.9 C 61 521 C.10 C 68 235 > > -- > David. >> >> >> DM <- read.table( text='GR x y >> A 25 125 >> A 23 135 >> A 14 145 >> A 35 230 >> B 45 321 >> B 47 512 >> B 53 123 >> B 55 451 >> C 61 521 >> C 68 235 >> C 85 258 >> C 80 654',header = TRUE, stringsAsFactors = FALSE) >> >> >> The end result will be >> A 25 125 >> A 23 135 >> B 45 321 >> B 47 512 >> C 61 521 >> C 68 235 >> >> Thank you >> >> On Wed, Dec 6, 2017 at 10:34 PM, David Winsemius <dwinsem...@comcast.net> >> wrote: >>> >>>> On Dec 6, 2017, at 4:27 PM, Ashta <sewa...@gmail.com> wrote: >>>> >>>> Thank you Ista! Worked fine. >>> >>> Here's another (possibly more direct in its logic?): >>> >>> DM[ !ave(DM$x, DM$GR, FUN= function(x) {!length(unique(x))==1}), ] >>> GR x y >>> 5 B 25 321 >>> 6 B 25 512 >>> 7 B 25 123 >>> 8 B 25 451 >>> >>> -- >>> David >>> >>>> On Wed, Dec 6, 2017 at 5:59 PM, Ista Zahn <istaz...@gmail.com> wrote: >>>>> Hi Ashta, >>>>> >>>>> There are many ways to do it. Here is one: >>>>> >>>>> vars <- sapply(split(DM$x, DM$GR), var) >>>>> DM[DM$GR %in% names(vars[vars > 0]), ] >>>>> >>>>> Best >>>>> Ista >>>>> >>>>> On Wed, Dec 6, 2017 at 6:58 PM, Ashta <sewa...@gmail.com> wrote: >>>>>> Thank you Jeff, >>>>>> >>>>>> subset( DM, "B" != x ), this works if I know the group only. >>>>>> But if I don't know that group in this case "B", how do I identify >>>>>> group(s) that all elements of x have the same value? >>>>>> >>>>>> On Wed, Dec 6, 2017 at 5:48 PM, Jeff Newmiller >>>>>> <jdnew...@dcn.davis.ca.us> wrote: >>>>>>> subset( DM, "B" != x ) >>>>>>> >>>>>>> This is covered in the Introduction to R document that comes with R. >>>>>>> -- >>>>>>> Sent from my phone. Please excuse my brevity. >>>>>>> >>>>>>> On December 6, 2017 3:21:12 PM PST, David Winsemius >>>>>>> <dwinsem...@comcast.net> wrote: >>>>>>>> >>>>>>>>> On Dec 6, 2017, at 3:15 PM, Ashta <sewa...@gmail.com> wrote: >>>>>>>>> >>>>>>>>> Hi all, >>>>>>>>> In a data set I have group(GR) and two variables x and y. I want to >>>>>>>>> remove a group that have the same record for the x variable in each >>>>>>>>> row. >>>>>>>>> >>>>>>>>> DM <- read.table( text='GR x y >>>>>>>>> A 25 125 >>>>>>>>> A 23 135 >>>>>>>>> A 14 145 >>>>>>>>> A 12 230 >>>>>>>>> B 25 321 >>>>>>>>> B 25 512 >>>>>>>>> B 25 123 >>>>>>>>> B 25 451 >>>>>>>>> C 11 521 >>>>>>>>> C 14 235 >>>>>>>>> C 15 258 >>>>>>>>> C 10 654',header = TRUE, stringsAsFactors = FALSE) >>>>>>>>> >>>>>>>>> In this example the output should contain group A and C as group B >>>>>>>>> has the same record for the variable x . >>>>>>>>> >>>>>>>>> The result will be >>>>>>>>> A 25 125 >>>>>>>>> A 23 135 >>>>>>>>> A 14 145 >>>>>>>>> A 12 230 >>>>>>>>> C 11 521 >>>>>>>>> C 14 235 >>>>>>>>> C 15 258 >>>>>>>>> C 10 654 >>>>>>>> >>>>>>>> Try: >>>>>>>> >>>>>>>> DM[ !duplicated(DM$x) , ] >>>>>>>>> >>>>>>>>> How do I do it R? >>>>>>>>> Thank you. >>>>>>>>> >>>>>>>>> ______________________________________________ >>>>>>>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>>>>>> 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. >>>>>>>> >>>>>>>> David Winsemius >>>>>>>> Alameda, CA, USA >>>>>>>> >>>>>>>> 'Any technology distinguishable from magic is insufficiently advanced.' >>>>>>>> -Gehm's Corollary to Clarke's Third Law >>>>>>>> >>>>>>>> ______________________________________________ >>>>>>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>>>>> 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. >>>>>> >>>>>> ______________________________________________ >>>>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>>> 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. >>>> >>>> ______________________________________________ >>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>> 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. >>> >>> David Winsemius >>> Alameda, CA, USA >>> >>> 'Any technology distinguishable from magic is insufficiently advanced.' >>> -Gehm's Corollary to Clarke's Third Law >>> >>> >>> >>> >>> > > David Winsemius > Alameda, CA, USA > > 'Any technology distinguishable from magic is insufficiently advanced.' > -Gehm's Corollary to Clarke's Third Law > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. David Winsemius Alameda, CA, USA 'Any technology distinguishable from magic is insufficiently advanced.' -Gehm's Corollary to Clarke's Third Law ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.