Re: [R] randomize a matrix

From: Giovanni Petris <GPetris_at_uark.edu>
Date: Fri 20 Oct 2006 - 14:53:28 GMT

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@MyFWC.com>
> Sender: r-help-bounces@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@myfwc.com
>
> ______________________________________________
> R-help@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@uark.edu ]
[ Department of Mathematical Sciences              ]
[ University of Arkansas - Fayetteville, AR 72701  ]
[ Ph: (479) 575-6324, 575-8630 (fax)               ]
[ http://definetti.uark.edu/~gpetris/              ]
[__________________________________________________]

______________________________________________
R-help@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.
Received on Sat Oct 21 08:15:48 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Fri 20 Oct 2006 - 22:30:11 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.