On this page

Distributions and normality

Before any test is run, every numeric variable is a pile of values, and the pile has a shape. Most of the numbers a results table opens with – the mean, the SD, the median, the quartiles, skewness – are descriptions of that shape, and one particular shape, the normal curve, is the reference that many tests are built on. This page explains what a distribution is, the numbers that describe where its middle is, how far it spreads and which way it leans, how evenly a categorical variable uses its levels, what the normal distribution is and why it matters, and how to tell whether a variable follows it. The numbers come from the café data, prepared as that page describes, and every one of them can be produced in descriptive statistics and distribution analysis.

A variable is a shape

Variable is one column of the dataset: a quantity or a category recorded for every case, under the name its column header gives it – wait, spend_before, branch – and listed by that name in the Variables panel. Every role a module’s panel asks for – the dependent variable, the grouping variable, a predictor, an item – is filled with one. As a column header in a results table, Variable names the variable each row describes, so a table with one row per variable – its missing values, its normality check, its intercept or R² in a model – is read row by row as a statement about that column; in a model with latent variables a row may name a factor instead, which the model defines and no column holds. What the row’s numbers say is the module manual’s entry for that table.

Distribution is the pattern of a variable’s values: which values occur, how often, and where they pile up. Line up the 185 waiting times the café’s members reported and you see that most are between two and seven minutes, a few are under one, and a handful stretch out to ten, sixteen and twenty. That is the distribution of wait, and everything else on this page is a way of describing it in fewer words. The description is what the app’s role vocabulary calls for at every turn: the dependent variable in a comparison has a distribution in each group, a predictor in a regression has one, and every column the Variables panel lists has one before any of them is chosen for anything.

Histogram is the picture of a distribution: the values cut into equal-width bins, and a bar for each bin as tall as the number of values in it. Cut the waiting times into two-minute bins and the bars read 21, 52, 53, 33, 15, 9, 0, 0, 1, 1 – a steep rise to a peak around three to five minutes, a long slope down to the right, and two members out on their own past sixteen. The same bins on spend_before read 5, 13, 29, 43, 45, 31, 16, 9, 6, 3: a rise and a fall that are nearly mirror images. The first shape is skewed; the second is close to the bell the rest of this page keeps returning to. The histogram in distribution analysis draws a smooth density curve over the bars and, on request, the normal curve with the same mean and SD, so the eye can compare the two directly. Reading a histogram is a matter of three questions – one peak or more, symmetric or leaning, and are there values far from the rest – and each of the sections below turns one of those into a number.

A nurse’s days to recovery, a teacher’s test scores and a marketer’s time on a page are each a pile of values with a shape, and the shape decides which summary is honest: the same three questions, whatever the nouns.

Where the middle is

Sample size is the number of cases that have a value for the variable – the cases the statistic was computed from, not the rows in the file. wait has 185, because fifteen members left it blank; overall has 193; spend_before has 200. It is the first number to read on any table, since every other number on the row was computed from exactly those cases, and a sample size smaller than expected is the usual sign of missing values doing their quiet work.

Total is the row or column that adds up the ones beside it, and the figure the other rows are read against as shares. In a frequency table it counts every case, the blank ones included, so it can exceed the sample size the valid percentages are taken from; in a contingency table the Total column holds each row’s count and the Total row each column’s – the margins the expected frequencies are built from; in a variance decomposition it is the variance the factors share out between them, and in an ANOVA table the sum of squares the model and the residuals split. On a path or mediation card the word means something else: the total effect of a predictor on an outcome, its direct path plus every indirect route through a mediator, which the regression and SEM manuals decompose.

Mean is the arithmetic average: every value added up and divided by the sample size. The 185 waiting times sum to 961 minutes, so the mean wait is 5.20 minutes; the mean spend before the menu change is 8.71. It is the centre of gravity of the distribution – the point where the pile would balance – which makes it the right summary when the pile is roughly symmetric and the wrong one when it is not, because a balance point moves toward whatever is far out. It is also the quantity most tests compare: a t-test asks whether two means differ, and a regression coefficient is a change in a mean.

Median is the middle value: sort the cases and take the one halfway along, or the average of the two nearest halfway when the count is even. Half the members waited less than 4.9 minutes and half waited more; half spent less than 8.36 before the change and half more. The median does not care how far out the extreme values are, only that they are on one side or the other, so it stays put when the mean moves. When the two agree, as they nearly do for spend_before (8.71 against 8.36), the distribution is roughly symmetric; when the mean sits well to one side of the median, the tail on that side is pulling it.

Mode is the most frequent value. It is the natural summary for a variable with a few distinct values – 40 of the 193 members gave an overall score of 7, more than any other score, and the modal answer to four of the six food and service items is 4 (value peaks at 3, and the reverse-keyed slow at 1) – and a near-meaningless one for a measurement, where ties are accidents of the recording: the mode of wait is 2.4 minutes, because seven members happened to report exactly that. The descriptive statistics manual says how the app reports a variable with several modes or none.

When the mean and the median disagree

One value can show the difference. With the catering order still in spend_after – the 66.53 that the café data page blanks – the mean is 10.03 and the median 9.40; with it out, the mean is 9.75 and the median 9.39. One cell in two hundred moved the mean by 0.28 and the median by 0.01. That is not a fault in the mean: it is reporting faithfully that the total spend went up, which it did. It is a reason to look at both before choosing which to report, and to prefer the median wherever the tail is long or a few values are far out – waiting times, incomes, counts of visits, reaction times.

The descriptive statistics module adds the estimators in between – the trimmed mean, which drops a percentage from each end before averaging, and the Hodges–Lehmann pseudomedian – for data that is neither clean enough for the mean nor skewed enough to give up on it.

How far the values spread

Two variables can share a mean and be nothing alike: every member could wait five minutes, or half could wait one and half nine. Spread is the second number a summary needs, and there are two families of it – one built on the mean, one on the sorted values.

Standard deviation is the typical distance of a value from the mean: take every value’s distance from the mean, square it, average the squares, and take the square root. For wait it is 2.91 minutes; for spend_before, 3.63; for overall, 1.90 points on the 0–10 scale. It is in the variable’s own units, which is why it is the spread that gets reported beside the mean, and it feeds nearly every test in the app – a t statistic is a difference divided by a quantity built from standard deviations, and an effect size like Cohen’s d is a difference measured in them. Because the distances are squared before they are averaged, a far-out value counts for far more than its distance: the catering order takes the SD of spend_after from 3.70 to 5.45 on its own.

Variance is the standard deviation squared – the average squared distance from the mean, before the square root. It is in squared units (minutes², currency²), which makes it hard to read directly, and it appears in a results table mainly because tests are computed on it: an F statistic is a ratio of two variances, and “explained variance” is the share of it a model accounts for. wait has a variance of 8.49, which is 2.91². The Sample vs. population toggle decides whether the average is taken over n or n − 1 cases; the sample form, the default, is the one that estimates the population’s spread without bias, and the one every test uses.

Range is the largest value minus the smallest: 19.6 minutes for wait, from 0.3 to 19.9. It is the crudest spread there is, set entirely by the two most extreme cases, and its main use is diagnostic – a range that is impossible for the variable means a value that should not be there.

Min is the smallest value in the sample. It is worth reading before anything else on the row: a minimum of −999, or of 0 on a variable that cannot be 0, is a code that has not been declared missing.

Max is the largest value. The maximum of age reads 999 before the sentinel is declared and 68 after; the maximum of spend_after reads 66.53 before the catering order is blanked and 20.08 after. Both flaws were found by reading this column.

Percentile is the value below which a given percentage of the cases fall. The 90th percentile of wait is 8.9 minutes – nine members in ten waited less – and the 10th is 1.9. Percentiles describe a distribution without reference to its mean, which makes them the right language for a skewed one: “one member in ten waited more than nine minutes” says something the mean and SD cannot. The median is the 50th percentile.

Q1 is the first quartile, the 25th percentile: a quarter of the members waited less than 3.0 minutes.

Q3 is the third quartile, the 75th percentile: three quarters waited less than 6.9 minutes. Together with the median, the two quartiles cut the sorted values into four equal parts, and the app computes them by the linear-interpolation rule (R’s type 7) that most software shares, so the quartiles it reports match a box plot drawn anywhere else.

IQR is the interquartile range, Q3 minus Q1 – the width of the middle half of the data. For wait it is 6.9 − 3.0 = 3.9 minutes; for spend_before, 4.77. Like the median, it ignores how far out the extreme values are, so it is the spread to report beside a median: the catering order that moves the SD of spend_after from 3.70 to 5.45 moves its IQR from 4.94 to 4.99. When the IQR is small next to the range – 3.9 against 19.6 for the waiting times – the data has a compact core and a few far-flung cases, which is the shape a box plot is built to show.

A report gives mean and SD for a roughly symmetric variable and median and IQR (or the two quartiles) for a skewed one; a table of group descriptives usually gives all of them, and it is the reader’s job to know which pair to trust. In every domain the pair is the same: a ward’s days to recovery is a median and an IQR, a class’s test score is a mean and an SD, and a page’s time on site is a median and an IQR.

How evenly the levels are used

A categorical variable has no mean and no SD, and the nearest thing to its spread is how its cases are shared out among its levels – all in one, evenly across every one, or somewhere between. Three measures put a number on that, and each reads a numeric variable as well by treating every distinct value as a level, which is what descriptive statistics does when they are ticked for a measurement. The first is entropy, H, defined with the information-theoretic family: 0 when every case has the same value, and at its largest, ln k for k levels, when the levels are equally used. The other two are built on the same shares.

Pielou’s evenness is the entropy of a variable divided by the largest entropy its number of levels allows:

J=Hln⁡k

It runs from 0, one level holding every case, to 1, every level used equally, and it is what makes two variables’ diversity comparable: H grows with the level count – two levels used evenly give ln 2 = 0.69, five give 1.61, eighty-two give 4.41 – so H says how much variety there is in absolute terms and J how close the variable comes to the most its levels could hold. The café’s branch is 101 members at Riverside and 99 at Station: H = 0.69, J = 1.00, as even as two levels can be. taste, a five-point item answered 11, 34, 49, 57 and 49 times from 1 to 5, has H = 1.51 and J = 0.94 – near its ceiling of 1.61, with the pile at 4 and the thin end at 1 costing it the rest (the entropy block’s 1.52 for the same item carries the correlation module’s small-sample correction, which the descriptive table leaves off). The 185 waiting times take 82 distinct values, each a level: H = 4.25, the entropy of seventy equally used levels, and J = 0.965. Read across the three, J says that all of them are nearly as spread as their levels allow, which is true and is all it says, while H puts the branches at the variety of two equally used levels and the waits at seventy – so J compares variables with different level counts, and H gives the amount. The waits also show where the measures run out: with most values distinct, the shares are all near 1/n, so H sits near ln n and J near 1 whatever the shape of the distribution – the 0.965 says nothing about the waits’ long tail, only that few members reported the same time – which is why the descriptive module flags the cells once 90% or more of a numeric variable’s values are distinct. With a single level J is undefined, since H and ln 1 are both 0.

Gini-Simpson index is the probability that two cases drawn at random fall in different levels:

1−D=1−∑ipi2

with pi the share of the cases at each level and D, Simpson’s index, the chance that the two fall in the same one. It runs from 0, one level holding everything, to 1 − 1/k for k levels used equally – 0.50 for two, 0.80 for five, 0.99 for a hundred – so it rises with the level count too, but slowly, and it stays readable as a probability whatever the count. Pick two of the café’s members and the odds are even that they use different branches: branch gives 0.50. taste gives 0.77, overall 0.85, and the waiting times 0.98 – two members rarely reported the same time. Because the shares are squared, the common levels decide it and a rare level barely counts, where entropy weighs every level by how surprising it is and a handful of rare ones raise it; the two agree on the ranking most of the time and part when a variable has many rare levels. It is the ecologists’ diversity index – the chance that two individuals picked from a habitat belong to different species – and reads the same way for any nominal variable.

The shape in two numbers

Skewness measures which way a distribution leans and how far. Zero is symmetric; a positive value means a longer tail to the right, toward high values; a negative one, a longer tail to the left. wait has a skewness of 1.27 – the long slope past the peak in its histogram, out to the two members at sixteen and twenty minutes – and visits_before, with most members visiting a handful of times and a few regulars above forty, 2.08. spend_before has 0.45, a mild lean. overall has −0.58: the scale stops at 10, nearly half the members gave 8 or more, and the tail runs down toward the few who gave 1 or 2. A rough scale: below about 0.5 in either direction is close enough to symmetric for most purposes, 0.5 to 1 is moderate, and above 1 is a tail that the mean and SD no longer describe well. The app reports skewness with a standard error – 0.18 for the 185 waits – so a value can be read against its own uncertainty: 1.27 is seven standard errors from zero, and 0.45 about two and a half. The sign is also a reading instruction: the mean of a right-skewed variable sits above its median (5.20 against 4.9 for wait), and the mean of a left-skewed one below (7.30 against 7 for overall).

Kurtosis measures how much of the distribution sits in its tails compared with the normal curve – whether far-out values are more common than a bell would produce, or less. The app reports it as excess kurtosis, with the normal curve at zero: positive means heavier tails and a sharper peak, negative means lighter tails and a flatter, boxier shape. wait has 3.42, and its member at 19.9 minutes is the reason – more than five standard deviations from the mean, which a normal curve produces about once in four million cases. spend_before has 0.11, indistinguishable from normal; slow, a 1–5 item whose answers spread across the scale rather than piling in the middle, has −1.07. Kurtosis is the more fragile of the two shape numbers – it takes fourth powers of the distances, so a single extreme value dominates it: the catering order gives spend_after a kurtosis of 57 and a skewness of 5.7, and without it the two read 0.02 and 0.34. When both are far from zero on a variable you expected to be well behaved, look for that one value before anything else.

Both numbers are what a normality test measures, formalised: skewness and kurtosis near zero are what “normal” looks like in two figures, and two of the tests below (D’Agostino–Pearson and Jarque–Bera) are built on nothing else.

The normal distribution

Normal distribution is the bell-shaped curve that a great many measured quantities follow, at least approximately, and that most classical statistics is built on. It is symmetric about its mean, which is also its median and mode; it is fully described by two numbers, the mean and the SD; and its tails thin out at a known rate, so that about 68% of the values fall within one SD of the mean, about 95% within two, and 99.7% within three. On spend_before, whose histogram is close to a bell, 140 of the 200 members (70%) fall within one SD of the mean and 191 (95.5%) within two – the rule nearly to the case. The same counts on wait come to 73.5% and 97.3%, which looks just as good and is not: the two-SD band for the waits runs from −0.63 to 11.02 minutes, and a normal curve with the waits’ mean and SD would put 3.7% of the members – seven of them – at a negative waiting time, where in fact the shortest wait is 0.3. The bell is a shape, not a pair of percentages, and a skewed variable can hit the percentages while missing the shape.

Why one curve matters so much has two answers. The first is that many things really are close to it – anything that is the sum of many small independent influences tends toward a bell, which is why heights, measurement errors and test scores often look like one. The second is the reason it matters even for variables that are not normal at all.

Central limit theorem is the result that the mean of a sample is close to normally distributed whatever the shape of the values it was computed from, and closer the larger the sample. The individual waiting times are badly skewed; the mean wait of a fresh sample of 185 members would vary from sample to sample in a nearly perfect bell around the population’s mean wait. This is what lets a t-test on means work on data that is not normal: the test’s reference distribution is about the mean, not the values, and with a few dozen cases per group the mean of a skewed variable is normal enough. It is also why the standard error of a mean has a simple formula – the SD over the square root of the sample size – and why the formula holds for the waiting times as well as for the spends.

Z-score is a value expressed in standard deviations from the mean:

z=value−meanSD

A ten-minute wait is (10 − 5.20) ⁄ 2.91 = 1.65 SD above the mean wait; a spend of 15 before the change is (15 − 8.71) ⁄ 3.63 = 1.74 SD above the mean spend. The two are about equally unusual in their own distributions, which is what the z-score is for – comparing positions across variables measured in different units. On a normal variable a z-score is also a percentile: 1.65 SD above the mean is the 95th percentile, and ±1.96 marks off the middle 95%. On a skewed variable it is not, which is the whole story of the previous two paragraphs in one line. The Standardize rule in data transformation writes a variable’s z-scores as a new column.

Normality is the assumption, made by the tests and models built on the normal curve, that the noise in the data is normally distributed – and it is worth being exact about what the assumption is of. A t-test or an ANOVA assumes the values are normal within each group, around the group’s mean; a regression assumes its residuals are, the differences between the observed values and the model’s predictions, not the outcome itself; Pearson’s correlation test assumes the pair of variables is jointly normal. None of them assumes the raw dependent variable is normal across the whole sample, and a variable that is not – wait differs between the branches, so the pooled pile is a mixture – can still meet the assumption where it is made. How much a violation costs depends on the sample: with two hundred cases the central limit theorem carries the t-test through a skewness of 1.27, and with fifteen per group it does not. When the assumption fails and the sample is small, a test that does not make it – a rank-based or trimmed-mean alternative, which comparison analysis lists beside each parametric test and the page on parametric and non-parametric tests explains – or a transformation of the variable (below) is the way through.

Checking normality

Three tools answer “is this variable normal?”, and they are best used together: the numbers say by how much, the test says whether the departure is more than sampling noise, and the plot says where it is.

Normality test is a hypothesis test whose null is “this variable is normally distributed”. That makes it one of the reversed tests the which null section warns about: a small p is evidence against normality, and a large one is not evidence for it – only a sign that the sample was too small to detect whatever departure there is. The app phrases the verdict accordingly, as “evidence against normality” or “no evidence against normality”, and never as “normal”. At large sample sizes the test finds departures no analysis would ever feel; at small ones it misses departures that matter; and it says nothing about how the variable departs, which is what decides what to do about it. Read it beside a Q–Q plot, and read its p against the assumption test significance level rather than the main one.

Shapiro–Wilk test is the normality test to run by default – the most powerful of the family for most shapes and sizes. Its statistic W measures how closely the sorted values track what a normal sample of the same size would give, on a scale from 0 to 1, with 1 a perfect match. On the café data it separates the three shapes cleanly. wait: W = 0.93, p < 0.001 – strong evidence against normality, from the tail. overall: W = 0.94, p < 0.001 – not from a tail but from the scale itself, which has eleven possible values and a ceiling at 10. spend_before: W = 0.98, p = 0.013 – a mild departure, real but small, on a histogram that looks like a bell. And spend_after shows what one value does: with the catering order in, W = 0.66; with it blanked, W = 0.99, p = 0.055. The distribution analysis manual lists the six other tests the app offers and when to prefer one; on spend_before four of the seven reject at 0.05 and three do not, which is what a mild departure looks like across tests, and the manual’s agreement summary reports exactly that rather than a vote.

Q–Q plot – quantile–quantile – draws the sorted values of the sample against the values a normal distribution with the same mean and SD would have put at the same ranks, one point per case. If the sample is normal the points lie on a straight line; the way they leave it says how it is not. The waiting times bend upward at both ends: the lowest waits sit above the line, because the normal curve would have reached below zero, and the highest ones climb steeply away from it – the member at 19.9 minutes is far above where a normal sample’s largest value would be. That upward bow at both ends is the signature of right skew. overall shows a staircase, since 193 members share eleven values, and its lowest points fall below the line – the left tail of a scale with a ceiling. spend_before hugs the line with a slight lift among the top few points, which is all a skewness of 0.45 amounts to. Distribution analysis draws it under Q-Q plot, with a confidence band that says how far from the line ordinary sampling noise would carry a normal sample, and a detrended view that flattens the line to make small departures visible. Regression draws the same plot for its residuals.

Box plot shows the distribution as five numbers: a box from Q1 to Q3 with a line at the median, whiskers out to the furthest values within 1.5 IQR of the box, and a separate point for every case beyond the whiskers – the box plot’s working definition of an outlier. For wait the box runs from 3.0 to 6.9 with the median at 4.9 – nearly centred, so the box alone looks symmetric – and the whiskers give the skew away: the lower one reaches 0.3, less than three minutes below the box, the upper one 11.9, five minutes above it, and the members at 16.3 and 19.9 sit past its end as points. Side by side, one box per group, it is the quickest way to see whether two groups differ in their middle, their spread or only their extremes: the two branches’ waiting times have medians of 4.8 and 5.0 minutes and SDs of 2.30 and 3.42, and what a plot of the two shows is not a shifted box – 2.9 to 6.6 against 3.0 to 7.3 – but Station’s two members past the end of its whisker, where Riverside has none. Distribution analysis and comparison analysis both draw it.

Violin plot draws the distribution’s shape as a smoothed outline – a density estimate mirrored about a vertical axis, so that the figure is wide where values are dense and narrow where they are sparse – with a miniature box plot inside it: a dot at the median, a bar from Q1 to Q3 and a line out to the whiskers. It shows what the box cannot: two peaks make one wide box and one two-bellied violin, and a long tail is a tapering neck rather than a scatter of points. For the café’s waiting times the violin is widest between two and six minutes and thins into a neck that runs out to twenty – the histogram’s shape without the bins – and the two branches side by side show Station’s neck reaching further than Riverside’s. The smoothing is the price: the outline is a kernel density estimate, its width set from the sample’s spread and size, so a small sample gets a shape that is more the estimator’s than the data’s, and a variable with few distinct values is drawn as if it were continuous – on overall’s eleven whole-number scores the app keeps the kernel at least three-quarters of a step wide so the violin is an outline and not a stack of spikes. Two things to read with care: every violin is scaled to the same width at its own widest point, so the shapes are comparable between groups but their areas say nothing about group size, which the corner note gives; and the outline stops at the smallest and largest value, so a tail is as long as the data and no longer. Distribution analysis and comparison analysis both draw it, with Show inner box plot as its option.

ECDF – the empirical cumulative distribution function – is a variable’s distribution drawn as a staircase: for each value along the x axis, the share of the sample at or below it, climbing from 0 to 1 as the values are passed. Every observation is one step of height 1/n – 1/185, about half a percent, for the café’s waiting times – so a run of steep steps is a stretch of the axis where the values crowd together, a flat stretch is a gap with no observation in it, and several members tied at one value make one taller step: seven waited exactly 2.4 minutes, and the curve jumps 3.8% there. The whole distribution reads off the curve, with no bins to choose. Its location is where the climbing happens – the waits cross 50% at 4.9 minutes, the median, and 25% and 75% at the quartiles, 3.0 and 6.9. Its spread is how far the climb is stretched along the axis – a steep curve is a tight distribution, a flat one a wide one. Its shape is the asymmetry of the climb – the waits reach 86% by eight minutes and then crawl through the last 14% out to 19.9, the right tail a histogram shows as a long low run. Since every point of the curve is a proportion, the share at or below that value, the curve can carry a proportion’s interval as a confidence band, pointwise or simultaneous. Distribution analysis and comparison analysis both draw it as their ECDF plot, with Show median reference line dropping a line from the 50% crossing to the axis; how two staircases on one axes are read is under two ECDFs together.

When the variable is not normal

Finding that a variable is skewed is a beginning, not a verdict. The first question is whether it matters – for a test on means with a large sample it usually does not, for a test on a small one or on the values themselves it usually does. The second is what the alternatives are, and there are three. A test that does not assume normality: the rank-based tests, which replace the values by their ranks and ask whether one group tends to outrank the other, and the trimmed-mean tests, which cut the tails before comparing; comparison analysis names the alternative beside each parametric test, and correlation analysis offers Spearman’s rank correlation beside Pearson’s. A summary that does not lean on the mean – the median and the IQR, above. Or a transformation that reshapes the variable so that a test on means becomes honest: the square root of the waiting times has a skewness of 0.23 and W = 0.99, p = 0.46 – no evidence against normality left – where the log overshoots to −0.93, and the Box–Cox family, which lets the data choose the exponent, settles on 0.39, between the two, with a skewness of 0.01. The Transform methods of the Standardize rule in data transformation apply any of these as a new column. The price of a transformation is that every result is then in transformed units – a difference in √minutes – and has to be reported as such; the price of a rank test is that it answers a slightly different question, about which group tends to be higher rather than by how much. Neither price is high, and both are lower than reporting a mean that a tail is dragging.

Reporting a distribution

For each variable in a study, give the sample size and one pair of summaries chosen by the shape: mean and SD when the variable is roughly symmetric, median and IQR (or median with Q1 and Q3) when it is not – “waiting time, median 4.9 minutes (IQR 3.0 to 6.9), n = 185”; “spend per visit, mean 8.71 (SD 3.63), n = 200”. Where an analysis rests on normality, say how it was checked and what was found – “Shapiro–Wilk W = 0.98, p = 0.013; the Q–Q plot showed a slight lift in the upper tail” – and, when the finding changed the analysis, what was done: the test switched, the variable transformed and how. A reader who sees a mean and SD for waiting times, and nothing else, cannot tell whether the analysis was careless or the waits were unusually well behaved; one line of this settles it.

Where this appears in DataSuite

  • Descriptive statistics – every number on this page for every selected variable: centre, spread, shape with its standard errors and intervals, quartiles and custom percentiles, and the three diversity measures for a categorical variable.
  • Distribution analysis – the seven normality tests and the plots: histogram, box plot, Q–Q plot, violin and ECDF.
  • Comparison analysis – group descriptives on every run, and Check assumptions runs Shapiro–Wilk within each group or on the paired differences, where the assumption is actually made.
  • Correlation analysis – Pearson’s coefficient assumes joint normality for its test; Spearman’s and Kendall’s do not.
  • Regression analysis – the normality that matters is the residuals’, checked with their own Q–Q plot and Shapiro–Wilk.
  • Data transformation – z-scores and other standardisations, the log, square-root and Box–Cox transforms, and rank-based scores that give a variable a normal shape by construction.
  • Settings – the threshold a normality test’s p is read against.