[R] Margins to fill matrix

Stefan Petersson stefan at inizio.se
Thu Sep 11 14:13:08 CEST 2014


I have :

rs <- c(3, 2, 3, 4)
cs <- c(4, 5, 3)

And want:

> matrix
    [,1] [,2] [,3]
[1,] 1    2    0
[2,] 1    0    1
[3,] 1    1    1
[4,] 1    2    1

The rowSums in the above matrix is equal to sum(rs) and colSums is
equal to sum(cs). It's sort of a matrix expansion where the margins
are known beforehand...

I hope I make sense.


2014-09-11 14:09 GMT+02:00 Charles Determan Jr <deter088 at umn.edu>:
> Do you have an example of what you would like your output to look like?  It
> is a little difficult to fully understand what you are looking for.  You
> only have 18 values but are looking to fill at 10x8 matrix (i.e. 80 values).
> If you can clarify better we may be better able to help you.
>
> Charles
>
>
> On Thu, Sep 11, 2014 at 3:47 AM, Stefan Petersson <stefan at inizio.se> wrote:
>>
>> Hi,
>>
>> I have two vector of margins. Now I want to create "fill" matrix that
>> reflects the margins.
>>
>>  seats <- c(17,24,28,30,34,36,40,44,46,50)
>>  mandates <- c(107,23,24,19,112,19,25,20)
>>
>> Both vectors adds up to 349. So I want a 10x8 matrix with row sums
>> corresponding to "seats" and column sums corresponding to "mandates".
>>
>> ______________________________________________
>> 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.
>
>
>
>
> --
> Dr. Charles Determan, PhD
> Integrated Biosciences



More information about the R-help mailing list