Thank you, Gabor.  This does the job.

Y



________________________________
From: Gabor Grothendieck <ggrothendieck@gmail.com>

Cc: r-sig-gui@stat.math.ethz.ch
Sent: Friday, January 30, 2009 8:32:31 AM
Subject: Re: [R-gui] Lengthening a data frame by repeating it

In the post x and y are matrices, not data frames.  Converting them to
data frames, try:

> x.df <- as.data.frame(x); y.df <- as.data.frame(y)
> data.frame(x.df[1], x.df[2], y.df)
  V1 V2 V1.1 V2.1
1  1  3  11  21
2  2  4  12  22
3  1  3  13  23
4  2  4  14  24
5  1  3  15  25
6  2  4  16  26


On Fri, Jan 30, 2009 at 8:21 AM, Yannis Tzamouranis

> Hello,
>
> this initially seemed to me like a pretty simple thing to do with rbind/cbind but did not manage to do it without looping.
>
> I have a simple data frame such as x:
> x<-cbind(c(1,2),c(3,4))
>> x
>      [,1] [,2]
> [1,]    1    3
> [2,]    2    4
>
> And a longer data frame, such as y:
>> y<-cbind(c(11,12,13,14,15,16),c(21,22,23,24,25,26))
>> y
>      [,1] [,2]
> [1,]  11  21
> [2,]  12  22
> [3,]  13  23
> [4,]  14  24
> [5,]  15  25
> [6,]  16  26
>
> I would like to merge them like this:
>      [,1] [,2] [,3] [,4]
> [1,]    1    3  11  21
> [2,]    2    4  12  22
> [3,]    1    3  13  23
> [4,]    2    4  14  24
> [5,]    1    3  15  25
> [6,]    2    4  16  26
>
> (ie by repeating the short frame as many times as necessary (a known number) and inserting it before the y columns.
> The need to not loop comes from the large number of times it would have to be repeated(thousands) before merged with another table of the longer, new length.
>
> Any ideas?
>
> Thank you,
> Yannis Tzamouranis
>
> I tried lengthening x (as then merging them would be easy through cbind) but could not do it without looping.  I wonder if there would be another way to go about this...
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-SIG-GUI mailing list
> R-SIG-GUI@stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-gui
>
>

	[[alternative HTML version deleted]]

