GenerateRandomSearch

ANOVA Dataset Generator

Analysis of variance rests on one identity: the total variation in your data splits exactly into the part explained by group membership and the part left inside the groups. Everything else — the mean squares, the F ratio, the whole table — is arithmetic on top of that split. This generates grouped data with a separation you choose, then reports the table with the decomposition verified to the last decimal rather than assumed.

What this generator does

Draws each group from a normal distribution whose mean is offset by the separation you choose, then computes the one-way ANOVA table: sums of squares between and within, degrees of freedom, mean squares and the F ratio. Before display it confirms that between plus within reproduces the total to floating-point tolerance and that the degrees of freedom add up the same way.

How to use this tool

  1. Choose how many groups, how many rows in each, and how far apart to place the group means.
  2. Set the separation to zero and generate a few times — watch F move around on data with no real effect.
  3. Raise the separation and watch the between-groups sum of squares grow.
  4. Check the table yourself: between plus within must equal the total, exactly.

Understanding the controls

Rows per group
Between 3 and 60. Small groups make F much more volatile, which is worth seeing.
How many groups
Between 2 and 6. With two groups ANOVA is equivalent to a two-sample t-test.
Group separation
How far apart the group means are placed, as a percentage of a standard deviation. Zero means no real difference exists.
Seed
Any word reproduces the same dataset and the same table.

Common use cases

  • Teaching the variance decomposition with data whose true effect is known
  • Worked ANOVA examples where the answer can be verified by hand
  • Showing that a large F sometimes appears with no real difference at all
  • Test data for a statistics implementation or a spreadsheet exercise
  • Setting the same dataset for a whole class from one seed

How this generator works

Group means are spread evenly around the overall mean by the separation you set, and each observation is that mean plus normal noise. The table is computed directly from the definitions: between-groups sums each group's squared distance from the grand mean weighted by its size, within-groups sums each point's squared distance from its own group mean. The check re-derives the total independently and confirms the split, because if that identity fails nothing else in the table means anything.

Randomness and fairness

The data is random; the table is computed from it and the decomposition is verified exactly. A seed reproduces the dataset exactly and is therefore explicitly not cryptographically secure. Without a seed the browser's cryptographically secure generator is used.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • No p-value is quoted — that needs the F distribution, and the decomposition is the checkable part.
  • One-way only: two-factor designs and interactions are a different table.
  • Groups are always the same size, which is the balanced case and the easiest one.
  • Residuals are normal and equally spread by construction, so the assumptions always hold here.
  • A generated dataset is gone on reload — export it or note the seed.

Privacy and your data

The dataset and its table are computed entirely in your browser. Nothing about the data or your seed is transmitted or kept.