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
- Choose how many groups, how many rows in each, and how far apart to place the group means.
- Set the separation to zero and generate a few times — watch F move around on data with no real effect.
- Raise the separation and watch the between-groups sum of squares grow.
- 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.
Related generators
- Permutation Test GeneratorTwo-group data with an exact permutation p-value, computed by trying every possible rearrangement of the labels rather than assuming a distribution.
- Regression Dataset GeneratorData built from a slope and intercept you choose, with the line fitted back out of it so you can see how close estimation gets.
- Statistical Power CalculatorWorks out the chance a test would detect a real effect of a given size, and how many people it would take to reach the usual eighty per cent.
- Heteroskedastic Data GeneratorRegression data whose noise grows with x, with the fitted slope and the residual spread at each end measured and compared.