Please, Gentlemen, this whole thread has *nothing* to do with "R-devel", and pretty much with "R-help".
So please revert to there (or do reply off-list if you really want that) Regards, Martin >>>>> "TC" == Tony Chiang <[EMAIL PROTECTED]> >>>>> on Wed, 28 May 2008 16:57:04 +0100 writes: TC> Hi Martin, I think I was extremely unclear about my TC> question. If I have a list of $n$ character vectors, I TC> would like to look at the intersection of $k$ of these TC> vectors (of which there are n choose k). Martin, you TC> methods (at least the first one) is one that I use, but TC> I also use the combn(n,k) and take the columns of the TC> output to subset the original list for which to take the TC> multiple intersections. TC> Robert has pointed out (to me) that this might be a TC> (hyper)graph function. While I agree that the list TC> could be represented as hyper-edges, I also tend to TC> think that it is a more general set theoretic TC> issue. Personally, I am looking at some statistics on TC> posets, and this comes up for me. But without any other TC> suggestions, I will find out if I can incorporate a TC> function into graph or hypergraph. TC> Cheers, --tony TC> On Wed, May 28, 2008 at 3:58 PM, Martin Morgan TC> <[EMAIL PROTECTED]> wrote: >> Hi Tony -- off-list, as I think you're looking for >> something else... >> >> "Tony Chiang" <[EMAIL PROTECTED]> writes: >> >> > Hi all, >> > >> > I don't know if this is the correct venue for this >> question, but I am sure > that someone will correct me if >> I am in the wrong list. >> > >> > I have been searching throughout R for a function that >> can find the > intersection of multiple sets of >> "things". Say for instance, I have a list > of $n$ >> character vectors and would like to find the intersection >> of all $k$ > subsets. I don't believe that there is such >> a function to do this (or am I > wrong?). It is a pretty >> easy to encode such a function...there was an e-mail > >> about how a recursive function to intersect an arbitrary >> number of sets > which is elegant and useful (sorry I >> forgot the person's name who wrote the > 2 line >> function). >> >> Maybe this is what you were thinking of? >> >> Intersect=function(x, ...) { if (length(list(...))>1) >> Intersect(x, Intersect(...)) else intersect(x, ...) } >> >> > Intersect(letters[1:5], letters[3:6], letters[4:7]) [1] >> "d" "e" > l=list(letters[1:5], letters[3:6], >> letters[4:7]) > do.call("Intersect", l) [1] "d" "e" >> >> Also >> >> > Reduce(intersect, l, letters) [1] "d" "e" >> >> This won't be efficient for a large set of 'things', and >> I'm not getting how n and k fit in -- 'all k subsets' >> implies all elements of n? >> >> Martin >> >> > My question is two-fold: >> > >> > 1. If such a function already exists, what is it >> called? > 2. If such a function does not exists, it is >> worthwhile to encode it (i.e. > can I send my code to >> someone?). >> > >> > Cheers, > --tony >> > >> > [[alternative HTML version deleted]] >> > >> > ______________________________________________ > >> R-devel@r-project.org mailing list > >> https://stat.ethz.ch/mailman/listinfo/r-devel >> >> -- >> Martin Morgan Computational Biology / Fred Hutchinson >> Cancer Research Center 1100 Fairview Ave. N. PO Box >> 19024 Seattle, WA 98109 >> >> Location: Arnold Building M2 B169 Phone: (206) 667-2793 >> [[alternative HTML version deleted]] TC> ______________________________________________ TC> R-devel@r-project.org mailing list TC> https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel