[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