[R] Remove

Ashta sewashm at gmail.com
Sat Dec 9 22:53:27 CET 2017


Thank you All !!

Now, I have plenty of options to chose.


On Sat, Dec 9, 2017 at 1:21 PM, William Dunlap <wdunlap at tibco.com> wrote:
> You could make numeric vectors, named by the group identifier, of the
> contraints
> and subscript it by group name:
>
>> 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)
>>
>> GRmin <- c(A=15, B=40, C=60)
>> GRmax <- c(A=30, B=50, C=75)
>> subset(DM, x>=GRmin[GR] & x <=GRmax[GR])
>    GR  x   y
> 1   A 25 125
> 2   A 23 135
> 5   B 45 321
> 6   B 47 512
> 9   C 61 521
> 10  C 68 235
>
> Or, if you want to completely avoid non-standard evaluation:
>> DM[ DM$x >= GRmin[DM$GR] & DM$x <= GRmax[DM$GR], ]
>    GR  x   y
> 1   A 25 125
> 2   A 23 135
> 5   B 45 321
> 6   B 47 512
> 9   C 61 521
> 10  C 68 235
>
>
>
>
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
>
> On Sat, Dec 9, 2017 at 9:38 AM, David Winsemius <dwinsemius at comcast.net>
> wrote:
>>
>>
>> > On Dec 8, 2017, at 6:16 PM, David Winsemius <dwinsemius at comcast.net>
>> > wrote:
>> >
>> >
>> >> On Dec 8, 2017, at 4:48 PM, Ashta <sewashm at 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
>> >> <dwinsemius at comcast.net> wrote:
>> >>>
>> >>>> On Dec 6, 2017, at 4:27 PM, Ashta <sewashm at 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 <istazahn at 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 <sewashm at 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
>> >>>>>> <jdnewmil at 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
>> >>>>>>> <dwinsemius at comcast.net> wrote:
>> >>>>>>>>
>> >>>>>>>>> On Dec 6, 2017, at 3:15 PM, Ashta <sewashm at 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 at 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 at 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 at 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 at 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 at 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 at 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.
>
>



More information about the R-help mailing list