[R] Merging Matrices

Gabor Grothendieck ggrothendieck at gmail.com
Sat Mar 20 13:41:31 CET 2010


Actually both the solutions I listed assume that every row in small is
in big.  Although that was the case in the example you displayed, If
that is not the case in general then use intersect:

ix <- intersect(rownames(big), rownames(small))
result <- big
result[ix, ix] <- big[ix, ix] + small[ix, ix]

On Sat, Mar 20, 2010 at 8:34 AM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
> The original post said the matrices are symmetric but it seems from
> the examples that they are not symmetric but do each have the same row
> and column names so we have assumed only this latter condition
> instead.
>
> If your matrices are called big and small then:
>
> ix <- rownames(big) %in% rownames(small)
> result <- big
> result[ix, ix] <- big[ix, ix] + small
>
> Also in the example every row name in small is also a row name in big
> so if that is true in general then the first line above could be just:
>
> ix <- rownames(small)
>
> In the future please display the output dput in your post to make it
> easier to reproduce your data, e.g. dput(big)
>
> On Fri, Mar 19, 2010 at 9:51 PM, duncandonutz <dwadswor at unm.edu> wrote:
>>
>> To clarify, the two matrices might look like this:
>>
>>     A  B  C  D  E  F
>> A   1  2  3  4  5  6
>> B   2  4  6  8  10 12
>> C   0  0  0  0  0  0
>> D   0  1  0  1  0  1
>> E   3  6  9  11 13 15
>> F   2  2  2  2  2  2
>>
>>     B  D  E
>> B   4  9  13
>> D   9  8  7
>> E   1  0  1
>>
>> I would like this:
>>
>>     A  B  C  D  E  F
>> A   1  2  3  4   5   6
>> B   2  8  6  17 23 12
>> C   0  0  0  0  0  0
>> D   0 10  0  9  7  1
>> E   3  7  9  11 14 15
>> F   2  2  2  2  2  2
>>
>> Thanks.
>> --
>> View this message in context: http://n4.nabble.com/Merging-Matrices-tp1605474p1636943.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> 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.
>>
>



More information about the R-help mailing list