Can someone please refer me to a function or method that resolves this structuring issue: I have two matrices with identical colnames (89), but varying number of observations: matrix A matrix B 217 x 89 16063 x 89 I want to creat one matrix C that has both matrices adjacent to one another, where matrix A is duplicated many times to create the same row number for matrix B, i.e. 16063. matrixA matrix B matrixA matrixA so matrix C will be 16063 x 178 I've tried cbind() and merge() with no success..
Please clarify: Is there a column of common values that you want to use to merge the two matrices together? Or do you just want to replicate matrix A enough times to have the same number of rows as B? I could think this was the case, but 16063 is not a multiple of 217. Anyway, you will have to change the colnames of at least one of them. Pedro At 18:03 20/07/2005, you wrote:>Can someone please refer me to a function or method that resolves this >structuring issue: > >I have two matrices with identical colnames (89), but varying number >of observations: > >matrix A matrix B > >217 x 89 16063 x 89 > >I want to creat one matrix C that has both matrices adjacent to one >another, where matrix A is duplicated many times to create the same >row number for matrix B, i.e. 16063. > >matrixA matrix B >matrixA >matrixA > >so matrix C will be 16063 x 178 > >I've tried cbind() and merge() with no success.. > >______________________________________________ >R-help at stat.math.ethz.ch mailing list >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
If 16063 were an integer multiple of 217 you could do this in two steps; first construct the left half with rep() or L <- kronecker(rep(1,16063/217),A) and then use cbind(L,B). However, 16063 is not a multiple of 217, so I don't know what you want to do with the leftover 5 rows you need in L. If you want to recycle rows, you could use ceiling(16063/217) in the call to rep and then use cbind(L[1:16063,],B). Reid Huntsinger -----Original Message----- From: r-help-bounces at stat.math.ethz.ch [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of mark salsburg Sent: Wednesday, July 20, 2005 1:03 PM To: R-help at stat.math.ethz.ch Subject: [R] Combining two matrices Can someone please refer me to a function or method that resolves this structuring issue: I have two matrices with identical colnames (89), but varying number of observations: matrix A matrix B 217 x 89 16063 x 89 I want to creat one matrix C that has both matrices adjacent to one another, where matrix A is duplicated many times to create the same row number for matrix B, i.e. 16063. matrixA matrix B matrixA matrixA so matrix C will be 16063 x 178 I've tried cbind() and merge() with no success.. ______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html