How Can I Concatenate Every Row in a Data Frame with Every Other Row?
Try this:
x <- data.frame(a=1:100, b=100:1, c=sample(100)) # assume even number of rows: bind the even/odd together even <- seq(nrow(x)) %% 2 new.x <- cbind(x[even==1,], x[even==0,]) head(new.x)
a b c a.1 b.1 c.1 1 1 100 69 2 99 60 3 3 98 24 4 97 26 5 5 96 71 6 95 43 7 7 94 17 8 93 70 9 9 92 10 10 91 79 11 11 90 56 12 89 50
On Sat, Mar 21, 2009 at 12:01 PM, Donald Macnaughton <donmac at matstat.com> 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? Thanks in advance, Don Macnaughton
______________________________________________ R-help at 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 Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve?