[R] select unique by multiple values
Berend Hasselman
bhh at xs4all.nl
Wed Oct 9 20:49:29 CEST 2013
On 09-10-2013, at 13:50, Ronald Peterson <ron at hub.yellowbank.com> wrote:
> Hi,
>
> New to R here. Lots of fun. Still rather green though.
>
> I'd like to select unique items from a list that looks like this (for
> example):
>
>> xyz
> $x
> [1] 8 6 9 0 0 3 9 7 1 9
> $y
> [1] 1 2 9 5 1 2 0 9 2 9
> $z
> [1] 5 6 9 0 5 1 1 7 3 4
>
> I'd like to select unique (x,y), while preserving association with z
> values. When there are duplicate (x,y) pairs, it doesn't really matter
> which (x,y,z) triplet gets preserved - selecting the first would be fine,
> but any other way to do it would be fine also. It /would/ be handy to also
> get a list of the rejected triplets, if that's possible. Ideas?
You could try this
A <- cbind(xyz[[1]],xyz[[2]])
A
indx <- which(duplicated(A))
indx
lapply(xyz,function(u) u[-indx])
lapply(xyz,function(u) u[indx])
Berend
More information about the R-help
mailing list