I hacked at a bit differently than Duncan. See if these help pages and this example point another way:

?combn
?"["


> df <- data.frame(a = 1:4, b=LETTERS[1:4])
> n <- nrow(df)
> cbind(df[combn(1:n,2)[1,],], df[combn(1:n,2)[2,],] )
    a b a b
1   1 A 2 B
1.1 1 A 3 C
1.2 1 A 4 D
2   2 B 3 C
2.1 2 B 4 D
3   3 C 4 D


--
David Winsemius

On Mar 21, 2009, at 12:01 PM, Donald Macnaughton wrote:

I have a data frame with roughly 500 rows and 120 variables. I would like to generate a new data frame that will include one row for each PAIR of
rows in the original data frame and will include all 120 + 120 = 240
variables from the two rows. I need only one row for each pair, not two rows. Thus the new data frame will contain 500 x 499 / 2 = 124,750 rows.

Is there an easy way to do this with R?



David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
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