[R] Remove

David Winsemius dwinsemius at comcast.net
Thu Dec 7 05:34:25 CET 2017


> 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



More information about the R-help mailing list