On May 20, 2010, at 6:24 PM, Jonathan wrote:

> Thanks, but that doesn't quite work, since I'd want the result of  
> b[b %in% a] to be symmetric with a[a%in%b] (so if there are two 2's  
> in EACH vector, I'll get two 2's in the result, but if there are two  
> 2's in only one vector, but one two in the other, the result will  
> show only one 2.
>
> Consider:
>
> > a <- c(2,4,3)
> > b<-c(6,6,5,2,2,8,4)
>
> > b[b %in% a]
> [1] 2 2 4
>
> > a[a%in%b]
> [1] 2 4
>
> The second answer is correct, but I can't predict which variable to  
> put in which position in the statement, so I'd need them both to be  
> correct.

Perhaps you should look at something along the lines of :
 > a <- c(2,4,2,3)
 > b<-c(6,6,5,2,2,8,4)
 > a[a %in% b]
[1] 2 4 2

 > merge(data.frame(table(a)), data.frame(table(b)), by.x="a",  
by.y="b" )
   a Freq.x Freq.y
1 2      2      2
2 4      1      1

And then do a pmin() on the Freq's

-- 
David.

>
> Best,
> Jonathan
>
> On Thu, May 20, 2010 at 6:10 PM, David Winsemius <dwinsem...@comcast.net 
> > wrote:
>
> On May 20, 2010, at 5:58 PM, Jonathan wrote:
>
> Hi all,
>  The ?intersect entry kindly points out that it discards duplicate
> entries.  I'm looking, however, to get the intersection while KEEPING
> duplicate entries, and there are no instructions on how to  
> accomplish this
> using intersect().
>
> Does anybody have any idea how this might be done, or am I going to  
> need to
> program something from scratch (something like ordering the vectors  
> and then
> looping through them)?
>
>
>
> ex:
>
> a <- c(2,4,2,3)
> b<-c(6,6,5,2,2,8,4)
> intersect(a,b)
> [1] 2 4
>
> > b %in% a
> [1] FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE
>
> # Now use logical indexing on "b"
>
> > b[b %in% a]
> [1] 2 2 4
>
>
>
>
> I'd hope the answer to be 2 2 4.
>
> Regards,
> Jonathan
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>
> David Winsemius, MD
> West Hartford, CT
>
>

David Winsemius, MD
West Hartford, CT


        [[alternative HTML version deleted]]

______________________________________________
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