[R] randomize a matrix

Giovanni Petris GPetris at uark.edu
Fri Oct 20 16:53:28 CEST 2006


Cameron,

In your example, I think P is the only matrix with 0-1 entries that
has the given row and column sums. 

In general, I would solve the problem simulating a Markov Chain. Start
from a given incidence matrix A and iterate the following steps:

(1) select two rows, a, b, and two columns, i, j, at random. 

(2) If A[c(a,b), c(i,j)] is of one of the forms

     1 0     or    0 1
     0 1           1 0

    then set it to the other, i.e. set 
    A[c(a,b), c(i,j)] <- A[c(b,a), c(i,j)].

After sufficiently many iterations, A will have a uniform
distribution. 

Giovanni


> Date: Thu, 19 Oct 2006 15:49:55 -0400
> From: "Guenther, Cameron" <Cameron.Guenther at MyFWC.com>
> Sender: r-help-bounces at stat.math.ethz.ch
> Precedence: list
> Thread-topic: [R] randomize a matrix
> Thread-index: Acbzt8BjJUXZEHZgQNaMi9gYYuh3Sg==
> 
> Hello everyone,
> 
> If I have an incidence matrix of 0 and 1's 
> 
> P=[1 1 1 1 1 1
>    1 1 1 1 0 0 
>    1 1 1 0 0 0
>    1 1 1 0 0 0
>    1 1 0 0 0 0]
> 
> I want to create a new uniform random matrix [a] that is filled with 0's
> and 1's but constrained so that the row and column sums are the same as
> in [P].  Does anyone know how to accomplish this?
> 
> Thanks in advance  
> 
> Cameron Guenther, Ph.D. 
> Associate Research Scientist
> FWC/FWRI, Marine Fisheries Research
> 100 8th Avenue S.E.
> St. Petersburg, FL 33701
> (727)896-8626 Ext. 4305
> cameron.guenther at myfwc.com
> 
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.
> 
> 

-- 

 __________________________________________________
[                                                  ]
[ Giovanni Petris                 GPetris at uark.edu ]
[ Department of Mathematical Sciences              ]
[ University of Arkansas - Fayetteville, AR 72701  ]
[ Ph: (479) 575-6324, 575-8630 (fax)               ]
[ http://definetti.uark.edu/~gpetris/              ]
[__________________________________________________]



More information about the R-help mailing list