Doran, Harold <HDoran <at> air.org> writes:
> I am trying to generate a binary matrix where 
 row 
in the matrix is guaranteed to have at 
least one 1.
> Ideally, I would like most rowSums  to be equal 
 2 or 3 
with some 1s and some 4s. But, 
rowSums cannot be equal
> to 0.
> 
> I can tinker with the vector of probability weights, 
but in 
 so (in the way I am doing it) this 
causes for
> more rowSums to be equal to 4 than I ideally would 
, but this never helps to guarantee a 
rowSum will not be
> equal to 0. I could post-hoc tinker with any rows 
 are all 
0, but seems like that may be just 
inefficient.
> 
> Below is sample code, any ideas on how to best 
tackle this?
> 
> Harold
> 
> dimMat <- matrix(0, 1000, 4)
> for(i in 1:1000){
>     dimMat[i, ] <- sample(c(0,1), 4, replace = TRUE, prob = c(.3, .7))
>                 }
> 
> table(rowSums(dimMat))


Wht don't you sample from the distribution of row sums 
for each row and then distribute that many 1's randomly
among the columns.

Ken

______________________________________________
R-help@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.

Reply via email to