[R] Odp: Matrix

Paul Smith phhs80 at gmail.com
Mon Feb 2 18:02:47 CET 2009


On Mon, Feb 2, 2009 at 4:05 PM, Petr PIKAL <petr.pikal at precheza.cz> wrote:
> Hi
>
> r-help-bounces at r-project.org napsal dne 02.02.2009 16:52:06:
>
>>
>> Hi,
>>
>> I have a very basic question on merging two matrices by alternating the
>> rows. For illustration, assume two matrices -
>>
>> A looks like:
>>
>> 10 10
>> 10 10
>>
>> B looks like:
>>
>> 20 20
>> 20 20
>>
>> How do I combine them such that I get alternating rows from A and B? My
>> final result should be C which looks like:
>>
>> 10 10
>> 20 20
>> 10 10
>> 20 20
>
> I would rbind both matrices and then indexed the resulting matrix.
>
> x<-rep(10,4)
> y<-rep(20,4)
> dim(x)<-c(2,2)
> dim(y)<-c(2,2)
> z<-rbind(x,y)
>> z
>     [,1] [,2]
> [1,]   10   10
> [2,]   10   10
> [3,]   20   20
> [4,]   20   20
>
> ind<-c(seq(1,4,2), seq(2,4,2))
> z[ind,]
>
>> z[ind,]
>     [,1] [,2]
> [1,]   10   10
> [2,]   20   20
> [3,]   10   10
> [4,]   20   20
>

Another solution:

m1 <- matrix(10,4,2)
m2 <- matrix(20,2,2)
m1[seq(2,4,2),] <- m2

Paul



More information about the R-help mailing list