Hi I've recently been trying to solve some probability questions in R, but am having trouble. This is one question thats been causing some hair loss: Given the set of integers S = {1,2,3,4,5,6,7,8,9,10}, create a function F(S) that uniformly and randomly rearranges these integers. For example, in one instance, we might have F(S) = {2,3,9,7,5,6,1,8,10,4}. ........................................................................................................................ Here is what I've managed so far with regards to solving the above. The first part of my program is just the following (which is flawless): "w = matrix(0, ncol = 10, nrow = 1, byrow = T) for( i in 1:1) { (m = runif(1,0,10)) for(j in 1:10) { if (j-1 < m & m < j) w[1,i] = j }" As you can see, I first define my output (called w) as "1 by 10" matrix. Afterwards, I randomly assign the first integer '1' to one of the positions on 1-10 (the function "runif(1,0,10)" lets me do this so that each position is equally likely). The next part of my program is where the difficulty lies. We need to randomly assign the remaining 9 integers. The program should look something like the following: for( i in 2:10) { (q = runif(1,0,10) { if(condition(i)) w[1,i] = xxx, else (repeat with new q-value untill condition(i) is met) } I know how to fill one of the details in the above. Clearly "condition(i)" should something like the following: for(e in 2:10) { if (e-1 < q & q < e) & (for(s in 1:i-1) { e != w[1,s] } w[1,i] = e The REAL issue is filling the exact details of the "else" condition. Clearly I want to tell R that I wish to repeat with a new random number "q" until condition(i) is met, but I don't know how to tell R this. Any help with this would be much appreciated. -- View this message in context: http://n4.nabble.com/Randomly-rearranging-elements-of-sets-tp1312276p1312276.html Sent from the R help mailing list archive at Nabble.com.
?sample On 28/01/2010, at 12:06 PM, jshort wrote:> > > Hi > > I've recently been trying to solve some probability questions in R, > but am > having trouble. > > This is one question thats been causing some hair loss: > > Given the set of integers S = {1,2,3,4,5,6,7,8,9,10}, create a > function F(S) > that uniformly and randomly rearranges these integers. > > For example, in one instance, we might have F(S) = > {2,3,9,7,5,6,1,8,10,4}. > > ...................................................................... > .................................................. > > Here is what I've managed so far with regards to solving the above. > > The first part of my program is just the following (which is > flawless): > > > "w = matrix(0, ncol = 10, nrow = 1, byrow = T) > for( i in 1:1) { > (m = runif(1,0,10)) > for(j in 1:10) { if (j-1 < m & m < j) > w[1,i] = j }" > > As you can see, I first define my output (called w) as "1 by 10" > matrix. > > Afterwards, I randomly assign the first integer '1' to one of the > positions > on 1-10 (the function "runif(1,0,10)" lets me do this so that each > position > is equally likely). > > > The next part of my program is where the difficulty lies. We need to > randomly assign the remaining 9 integers. The program should look > something > like the following: > > for( i in 2:10) { > (q = runif(1,0,10) > { if(condition(i)) w[1,i] = xxx, else (repeat with new q-value untill > condition(i) is met) > } > > I know how to fill one of the details in the above. Clearly > "condition(i)" > should something like the following: > > > > for(e in 2:10) { if (e-1 < q & q < e) & > (for(s in 1:i-1) { e != w[1,s] } w[1,i] = e > > > The REAL issue is filling the exact details of the "else" > condition. Clearly > I want to tell R that I wish to repeat with a new random number "q" > until > condition(i) is met, but I don't know how to tell R this. > > Any help with this would be much appreciated.###################################################################### Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
On Wed, Jan 27, 2010 at 11:11 PM, Rolf Turner <r.turner at auckland.ac.nz> wrote:> > ?sample >And/Or read Knuth. Does this sound like a homework problem? -- blog: http://geospaced.blogspot.com/ web: http://www.maths.lancs.ac.uk/~rowlings web: http://www.rowlingson.com/ twitter: http://twitter.com/geospacedman pics: http://www.flickr.com/photos/spacedman