[R] combinations between two vectors

David L Carlson dcarlson at tamu.edu
Thu Dec 18 16:16:57 CET 2014

```Depending on what you want, you probably want to start with expand.grid():

# All combinations of test with test
> pairs1 <- expand.grid(test, test)
> nrow(pairs1)
[1] 36
# Exclude cases that differ only in the order of the values
# E.g. (1, 5001), but not (5001, 1), also (1, 1), etc are included
> pairs2 <- pairs1[pairs1[,1] <= pairs1[,2],]
> nrow(pairs2)
[1] 21
# Same as pairs2 but (1, 1), etc are not included
> pairs3 <- pairs1[pairs1[,1] < pairs1[,2],]
> nrow(pairs3)
[1] 15

-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Sarah Goslee
Sent: Thursday, December 18, 2014 9:06 AM
To: Alaios
Cc: R-help at r-project.org
Subject: Re: [R] combinations between two vectors

I can't quite tell what you want: your example output is either
unclear to me or mangled by posting in HTML (please don't).

Is
expand.grid(test, test)
what you want, or partway to what you want?

Sarah

On Thu, Dec 18, 2014 at 9:56 AM, Alaios via R-help <r-help at r-project.org> wrote:
> Hi all,I am looking for a function that would give me all the combinations between two vectors.Lets take as example the
>
> test<-seq(1,30000,by=5000)
> Browse[2]> test
> [1]     1  5001 10001 15001 20001 25001
> I want all the combinations between two times the test... I think this is  called permutation so a function that could do permutation(test,test)and produce the following
> 1,11,50011,100011,15001....
> 3,13,5001...25001,20001,25001,25001
> is there such a function ?
> RegardsAlex
>
>
>         [[alternative HTML version deleted]]
>

--
Sarah Goslee
http://www.functionaldiversity.org

______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help