[R] find and

Bert Gunter bgunter.4567 at gmail.com
Mon Mar 20 17:52:46 CET 2017


Here is a version similar to Rui's, but using ave() and logical
indexing to simplify a bit:


> DF4[with(DF4, ave(as.numeric(var), city, FUN = function(x)length(unique(x))) ==1), ]

    city wk var
4  city2  1   x
5  city2  2   x
6  city2  3   x
7  city2  4   x
8  city3  1   x
9  city3  2   x
10 city3  3   x
11 city3  4   x
16 city5  3   -
17 city5  4   -


Cheers,
Bert


Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Sat, Mar 18, 2017 at 7:15 AM, Rui Barradas <ruipbarradas at sapo.pt> wrote:
> Hello,
>
> I believe this does it.
>
>
> sp <- split(DF4, DF4$city)
> want <- do.call(rbind, lapply(sp, function(x)
>                 if(length(unique(x$var)) == 1) x else NULL))
> rownames(want) <- NULL
> want
>
>
> Hope this helps,
>
> Rui Barradas
>
>
> Em 18-03-2017 13:51, Ashta escreveu:
>>
>> Hi all,
>>
>> I am trying to find a city that do not have the same "var" value.
>> Within city the var should be the same otherwise exclude the city from
>> the final data set.
>> Here is my sample data and my attempt. City1 and city4 should be excluded.
>>
>> DF4 <- read.table(header=TRUE, text=' city  wk var
>> city1  1  x
>> city1  2  -
>> city1  3  x
>> city2  1  x
>> city2  2  x
>> city2  3  x
>> city2  4  x
>> city3  1  x
>> city3  2  x
>> city3  3  x
>> city3  4  x
>> city4  1  x
>> city4  2  x
>> city4  3  y
>> city4  4  y
>> city5  3  -
>> city5  4  -')
>>
>> my attempt
>>       test2  <-   data.table(DF4, key="city,var")
>>       ID1    <-   test2[ !duplicated(test2),]
>>      dps     <-   ID1$city[duplicated(ID1$city)]
>>     Ddup  <-   which(test2$city %in% dps)
>>
>>      if(length(Ddup) !=0)  {
>>            test2   <-  test2[- Ddup,]  }
>>
>> want     <-  data.frame(test2)
>>
>>
>> I want get the following result but I am not getting it.
>>
>>     city wk var
>>    city2  1   x
>>    city2  2   x
>>    city2  3   x
>>    city2  4   x
>>    city3  1   x
>>    city3  2   x
>>   city3  3   x
>>   city3  4   x
>>   city5  3   -
>>   city5  4   -
>>
>> Can some help me out the problem is?
>>
>> 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.
>>
>
> ______________________________________________
> 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