On 11-Oct-07 12:09:19, Robin Hankin wrote: > > On 11 Oct 2007, at 12:55, Martin Ivanov wrote: > >> Dear R users, >> I need to to the the following. Let a= 1 2 3 >> 4 5 6 >> and b= -1 -2 -3 be (2x3) matrices. >> -4 -5 -6 >> I need to combine the two matrices into a new (2x6) matrix like this: >> >> ab = ( 1 -1 2 -2 3 -3 ) >> 4 -4 5 -5 6 -6 >> >> How can this be done in R? > > > a > [,1] [,2] [,3] > [1,] 1 2 3 > [2,] 4 5 6 > > b > [,1] [,2] [,3] > [1,] -1 -2 -3 > [2,] -4 -5 -6 > > > x <- cbind(a,b)+NA > > x > [,1] [,2] [,3] [,4] [,5] [,6] > [1,] NA NA NA NA NA NA > [2,] NA NA NA NA NA NA > > x[,seq(from=1,by=2,len=3)] <- a > > x[,seq(from=2,by=2,len=3)] <- b > > x > [,1] [,2] [,3] [,4] [,5] [,6] > [1,] 1 -1 2 -2 3 -3 > [2,] 4 -4 5 -5 6 -6 > > > > > HTH > > rksh
What's wrong with a ## [,1] [,2] [,3] ##[1,] 1 2 3 ##[2,] 4 5 6 b ## [,1] [,2] [,3] ##[1,] -1 -2 -3 ##[2,] -4 -5 -6 cbind(a,b)[,c(1,4,2,5,3,6)] ## [,1] [,2] [,3] [,4] [,5] [,6] ##[1,] 1 -1 2 -2 3 -3 ##[2,] 4 -4 5 -5 6 -6 ?? Of course, for a more general case, you'd need a method for generating the appropriate version of c(1,4,2,5,3,6) -- e.g. something like Robin's "seq". Best wishes, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <[EMAIL PROTECTED]> Fax-to-email: +44 (0)870 094 0861 Date: 11-Oct-07 Time: 13:46:06 ------------------------------ XFMail ------------------------------ ______________________________________________ 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.