Missed that you wanted to elim duplicated: > z <- expand.grid(test,test) > # add 'unique' key > z$key <- apply(z, 1, function(x)paste(sort(x), collapse='')) > str(z) 'data.frame': 16 obs. of 3 variables: $ Var1: Factor w/ 4 levels "A","B","C","D": 1 2 3 4 1 2 3 4 1 2 ... $ Var2: Factor w/ 4 levels "A","B","C","D": 1 1 1 1 2 2 2 2 3 3 ... $ key : chr "AA" "AB" "AC" "AD" ... - attr(*, "out.attrs")=List of 2 ..$ dim : int 4 4 ..$ dimnames:List of 2 .. ..$ Var1: chr "Var1=A" "Var1=B" "Var1=C" "Var1=D" .. ..$ Var2: chr "Var2=A" "Var2=B" "Var2=C" "Var2=D" > subset(z, !duplicated(z$key)) Var1 Var2 key 1 A A AA 2 B A AB 3 C A AC 4 D A AD 6 B B BB 7 C B BC 8 D B BD 11 C C CC 12 D C CD 16 D D DD >
On Tue, Jul 5, 2011 at 7:16 PM, Q <quaga...@gmail.com> wrote: > Hello, > > I'm trying to create a data frame where each row has a unique combination of > factors. > > I start with a vector of species like so: > > > >> 1> test <- c("A","B","C","D") >> > >> 1> test >> > >> [1] "A" "B" "C" "D" >> > > To get all species combinations I have used expand.grid like this: > > > >> 1> pairs <- expand.grid(test,test) > >> 1> pairs > >> Var1 Var2 > >> 1 A A > >> 2 B A > >> 3 C A > >> 4 D A > >> 5 A B > >> 6 B B > >> 7 C B > >> 8 D B > >> 9 A C > >> 10 B C > >> 11 C C > >> 12 D C > >> 13 A D > >> 14 B D > >> 15 C D > >> 16 D D >> > > Now I want to select only the unique pairs, which I have tried to do with > the function "unique": > > > >> 1> unique(pairs) >> > > , but that doesn't do anything... I guess because it considers A,B to be > different from B,A. The data frame I would like to end up with should look > like this. > > > >> Var1 Var2 > >> 1 A A > >> 2 B A > >> 3 C A > >> 4 D A > >> 6 B B > >> 7 C B > >> 8 D B > >> 11 C C > >> 12 D C > >> 16 D D > >> > > Thanks for your help! > > Q > > -- > View this message in context: > http://r.789695.n4.nabble.com/Create-a-data-frame-of-all-possible-unique-combinations-of-factors-tp3647338p3647338.html > Sent from the R help mailing list archive at Nabble.com. > [[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. > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? ______________________________________________ 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.