Shuffle


What's new in Analytica 4.0? >

Function Shuffle(a , i)

Shuffle returns a random reordering (permutation) of the values in array a over index i. If you omit i, by default it shuffles over Run -- i.e. it shuffles a random sample. You can use it generate an independent random sample from an existing probability distribution, a.

Independent Shuffles

If a has two dimension, say I and Run, Shuffle(a, I) shuffles the sample over I independently for each value of Run. Shuffle(a, Run) -- or Shuffle(a), which is equivalent, because it assumes Run by default -- will shuffle each sample independently for each value of I.

Like other distribution functions, you can add an extra dimension using the Over parameter. For example, if B is a sample with no indexes other than Run,

Shuffle(B, Over: I)

returns an array of samples indexed by I, where the sample for each value of I is shuffled independently.

If you want to shuffle the slices of a multidimensional array over index i, without shuffling the values within each slice, use this method:

A[@I = Shuffle(@I,I)]

This shuffles A over index I, but does not shuffle each slice of A for each value of I.

Examples

To generate a random permutation of the numbers 1..100:

 Index I:=1..100;
 Shuffle(I,I)
Comments


You are not allowed to post comments.