Hi,
May be this is what you are looking for.

indx<- xyz[[1]]==xyz[[2]]
indx1<- which(indx)[duplicated(xyz[[1]][indx])]

lapply(xyz,function(u) u[-indx1])
$x
[1] 8 6 9 0 0 3 9 7 1

$y
[1] 1 2 9 5 1 2 0 9 2

$z
[1] 5 6 9 0 5 1 1 7 3

 lapply(xyz, function(u) u[indx1])
$x
[1] 9

$y
[1] 9

$z
[1] 4
A.K.


________________________________
From: Ronald Peterson <r...@hub.yellowbank.com>
To: arun <smartpink...@yahoo.com> 
Cc: R help <r-help@r-project.org> 
Sent: Wednesday, October 9, 2013 1:52 PM
Subject: Re: [R] select unique by multiple values



Thanks.  That's not quite what I'm looking for, but it's good see different 
ways to slice and dice data.

In my example, the one duplicated x,y pair would 9,9, so I would want to reduce 
the original list to

> xyz
$x
 [1] 8 6 9 0 0 3 9 7 1
$y

 [1] 1 2 9 5 1 2 0 9 2
$z

 [1] 5 6 9 0 5 1 1 7 3

and if it were also possible to get the xyz values that were removed that would 
be perfect.  e.g.

$x
[1] 9
$y
[1] 9
$z
[1] 4

Does that make sense?

(my data is in a form accepted by the deldir package, fwiw)

Best,

R.




On Wed, Oct 9, 2013 at 9:56 AM, arun <smartpink...@yahoo.com> wrote:


>
>Hi,
>
>Not sure about your expected output.
>
>xyz<- 
>list(x=c(8,6,9,0,0,3,9,7,1,9),y=c(1,2,9,5,1,2,0,9,2,9),z=c(5,6,9,0,5,1,1,7,3,4))
>indx<-sort(unique(unlist(lapply(xyz[1:2],function(u) 
>which(!duplicated(u))),use.names=FALSE)))
> xyz[1:2]<-lapply(xyz[1:2],function(u) u[!duplicated(u)])
> xyz[3]$z<- xyz[3]$z[indx]
> xyz
>#$x
>#[1] 8 6 9 0 3 7 1
>#
>#$y
>#[1] 1 2 9 5 0
>#
>#$z
>#[1] 5 6 9 0 1 1 7 3
>
>A.K.
>
>
>
>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?
>
>Thanks!
>
>R
>
>______________________________________________
>R-help@r-project.org mailing list
>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.
>


-- 
-Ron-

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to