[R] find and

Rui Barradas ruipbarradas at sapo.pt
Sat Mar 18 15:15:04 CET 2017


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.
>



More information about the R-help mailing list