In short
Table 1 describes who took part, not what happened to them: sociodemographic variables, clinical or contextual ones, and anything you will later use as a covariate or a stratification factor, with one column per group and each group's n written into its heading. Symmetric continuous variables go in as M (SD) and skewed ones as Mdn with the quartiles in brackets —weeks on the waiting list: 10.0 [5.0, 24.0]— and you make that call by looking at the shape of the variable, not by running a normality test. Categorical variables are reported as n (%), with the percentage taken over the column and the denominator stated whenever data are missing: 54 (55.1%). In a randomized trial you do not add a column of baseline p values: if allocation was random, the null hypothesis of no difference is true by construction, so any p < .05 in that row is by definition a type I error. What does inform you is the size of the imbalance: the same d = 0.13 comes out at p = .354 in 196 students and at p < .001 in 4,000, and the only thing that changed is the sample size.
Your Method section is written and now you have to build the table that describes the sample. It looks like the easiest job in the paper, and two hours later you are arguing with yourself about whether age takes a mean or a median, whether the percentage is calculated over the group or over the whole sample, what to do with the seven students who left parental education blank, and whether you need a column of p values comparing the groups. That last decision is the one that drags most manuscripts down: the column gets copied from papers published thirty years ago, and current reporting guidelines advise against it in writing. Here is the whole table, row by row. The general formatting rules for any table —numbering, title, rules, notes— are in APA 7 tables: rules and examples.
Which variables belong in Table 1, and which do not
Three blocks and little else. Sociodemographic variables —age, sex or gender, education, employment, region— say who you are describing. Clinical or contextual ones —primary diagnosis, comorbidity, time since onset, medication, year of study, baseline severity— say what state those people arrived in. And in go the variables you will need later: the covariates in your model, whatever you stratified allocation by, and the moderators you pre-specified in the protocol. A variable that fits none of the three blocks rarely earns a row.
What does not belong is your findings. Table 1 is the photograph of the starting line, so the baseline score on your outcome belongs there and the post-treatment score does not: that one lives in the results table with its test and its effect size. Individual items from a scale do not belong either, nor the thirty variables you collected because they happened to be on the intake form. A two-page Table 1 does not describe better; it forces the reader to hunt, and it invites comparing everything against everything, which is the problem I get to in a moment.
Each column heading carries the group and its size, "Intervention (n = 98)" and "Control (n = 98)", with a lowercase italic n because it names a subgroup; the capital N is reserved for the full sample. A total column goes in only when it earns its place: in a balanced two-arm trial it is arithmetic the reader can do, while in an observational study with four groups it lets you read the whole sample in one pass. If a row has fewer cases than its column, say so in the row or in the note and never leave it implicit.
Sex and gender are not the same variable, and APA 7 asks you not to use them as synonyms: write in the row label what you actually asked. If your questionnaire said "sex assigned at birth", that is what the row is called; if you asked about gender identity with five options, the row carries those five. The same goes for ethnicity, which is reported as participants identified themselves and not as somebody recoded it while cleaning the file. Collapsing a category of two people is defensible when the note says what you collapsed; making it disappear is not.
M (SD) or Mdn [IQR]: decide by looking at the variable
The choice depends neither on the measurement scale nor on a preliminary test. It depends on the shape the variable has in your sample and on which number honestly describes its center. Symmetric, no long tails: M (SD). Skewed, with a tail stretching to the right: Mdn with the interquartile range. In psychology and the health sciences the skewed ones are almost always the same handful: time to first help-seeking, weeks on a waiting list, number of previous episodes, length of stay, income, and screen time.
An example shows why it matters. Weeks on the waiting list come out at Mdn = 10.0 [5.0, 24.0], and that same variable has M = 17.6 (SD = 19.8). The standard deviation is larger than the mean, and in a variable that cannot go below zero that is the signal that a handful of people who waited well over a year are dragging the average up. The participant who waited 17.6 weeks does not exist in your data; the one who waited 10 does.
The interquartile range is written two ways and both get published: the two quartiles in brackets, [5.0, 24.0], or the distance between them, 19.0. APA imposes neither; what is unforgivable is not saying which one you used. Give the two quartiles, which let a reader rebuild the distribution, and state it in the note. A median never takes a ± after it, because dispersion around a median is not symmetric and that sign promises something you do not have. And within a row the statistic is the same across every column: you cannot give M (SD) for the intervention arm and Mdn [IQR] for the control arm because one of them came out more skewed.
The decision is not delegated to a Shapiro-Wilk. At N = 480 that test rejects departures that change nothing about what you do next, and at n = 22 it almost never rejects: in both cases it is answering a question about power, not about your variable. Look at the histogram and compare the mean with the median, which takes ten seconds. When a normality test genuinely needs reporting, and how to write it, is in how to report normality tests in APA 7.
Counts and percentages: n (%) and over which denominator
The count comes first and the percentage sits in brackets: 54 (55.1%). The count is the datum and the percentage is the aid that lets a reader compare columns of different sizes, in that order and not the other way round. The n in the row label is italic —"Women, n (%)"— and the per cent symbol is never italic. For a binary variable one line is enough, the one that informs: if you say how many women there are out of 98, you have already said how many men.
The percentage is calculated over the column, that is over the n of that group, unless the note says otherwise. It sounds obvious and it is the most repeated error in the whole table: 54 women out of 98 are 55.1% of their group and 27.6% of a sample of 196, and both figures have appeared in the same published table, in different rows, with nobody noticing. If what you want is a row percentage —how a category is split across the groups— say so in those words in the note.
Missing data change the denominator. If seven students did not answer the parental education item, that row's denominator is 189 and not 196, and you have two honest ways out: recompute the percentages over valid cases and declare it in the note, or add a "Not reported" row with its own count. The second is better when the absence means something, which with income, substance use or criminal history it often does. Dividing by 196 and saying nothing is neither of the two. What to report about missingness, and where each piece goes, is in how to report missing data in APA 7.
For a multi-level variable every level goes in, and you check that the counts add up to the column's n; percentages summing to 99.9 or 100.1 through rounding is normal and gets a line in the note. With small denominators the decimal lies: in a subgroup of 16 people a single person is 6.3%, and there you are better off giving the count alone or the count with a whole-number percentage. A percentage without its count beside it does not get published, because "40% improved" is two people out of five or four hundred out of a thousand and the reader cannot tell which.
The column of p values: why it does not belong between randomized groups
The argument fits in one sentence: if allocation was random, the null hypothesis that the groups do not differ at baseline is true by construction, because a chance mechanism and nothing else built those groups. Testing something you already know to be true adds no information. When the gender row gives you χ²(1, N = 196) = 1.03, p = .310, you have learned nothing you did not know while designing the study; and when another row gives you p = .03, that does not mean the groups differ for some reason, it means you landed on one of the occasions when chance deals unevenly. That is the textbook definition of a type I error, which is why Altman (1985) and Senn (1994) wrote about it and why the CONSORT explanation (Moher et al., 2010) calls such tests superfluous.
A baseline test does prove something, just not what people think: it probes whether allocation happened the way you say it happened. If you have grounds to suspect somebody subverted it —the recruiter could see the sequence, the envelopes were not opaque, the arms filled up in odd bursts— that is an audit of the procedure, it gets told in the text in plain words, and it does not fit in a column of Table 1. Assmann and colleagues (2000) reviewed how baseline data were being used in trials published by major journals and reached the same place: the column is inherited by habit, not by argument.
What makes it dangerous is that the p depends on sample size rather than on how much the imbalance matters. Take the same two figures in two studies. In a randomized trial of a sleep intervention with 196 undergraduates, age runs 20.1 (2.3) against 20.4 (2.2): t(194) = 0.93, p = .354, d = 0.13, and nobody blinks. In a multicentre trial of 4,000, with exactly the same means and the same standard deviations: t(3998) = 4.22, p < .001, d = 0.13. The imbalance is identical and the filter's verdict is the opposite.
The reverse error costs more and gets spotted far less. In a pilot with 26 per arm, baseline insomnia severity comes out at 16.9 (4.6) against 19.1 (4.9): t(50) = 1.67, p = .101, d = 0.46. Nearly half a standard deviation of imbalance on the variable that best predicts the outcome, and the p column signs off that "the groups were comparable at baseline". That is exactly the imbalance that will bias your effect, and the test has no power to see it.
What replaces the p value
The size of the imbalance, which is what actually decides whether you have a problem. For continuous variables that is the standardized difference: the familiar d applied to a covariate, with the useful property that it does not grow with the sample size —d = 0.13 is 0.13 with 196 people and with 4,000—. The propensity-score literature works with Austin's (2009) convention, |d| below 0.10 as negligible imbalance; it is a working convention and not a pass mark, exactly like Cohen's (1988) cut-offs. How it is computed and how it is written up is in how to report Cohen's d in APA 7, and for categorical variables there is the analogous version with proportions.
Covariates are chosen before you look at the data and for prognostic reasons: they go in because the literature says they predict the outcome, not because they came out lopsided in your table. Whatever you stratified randomization by goes into the model every time, even with zero imbalance, because it is part of the design. And a covariate chosen that way stays in even when its baseline p is .80.
Picking covariates because they turned out significant in Table 1 turns an analysis plan into a post hoc decision, and it does so in the worst possible direction: the criterion depends on sample size, so in a small study you will fail to adjust for the imbalance that matters and in a large one you will adjust for three that do not. If the adjusted analysis was not pre-specified, say so in the text and present it as secondary rather than as your headline result.
Observational and descriptive studies: when there is something to compare
In an observational study chance did not build the groups: life did, or clinical judgment, or each person's own decision. There the null hypothesis of equality is not true by construction, and a baseline difference is real information because it flags a possible confounder. The problem is a different one: the p answers whether some difference exists in the population, and what you need to know is whether that difference is large enough to bias your estimate. Once again the standardized difference tells you more than the test does.
If the journal asks for the p, give it, with the difference and its confidence interval beside it, and never use it as a filter for deciding what enters the adjusted model. Univariate screening —"anything at p < .05 goes in", or at .20— leaves real confounders out, because a variable can be associated with the exposure too weakly to clear the threshold and with the outcome strongly enough to bend your effect; and it lets in noise from the ones that clear the threshold by luck. Confounders are chosen from what you know about the phenomenon and justified in the text.
In a descriptive study with no groups, Table 1 has one column and no comparisons at all. Adding a p column "because that is what tables look like" means running a test you never planned, that nobody asked for, and that later obliges you to explain a finding in the Discussion which meant nothing in the first place.
How the table is laid out
"Table 1" sits above in bold on its own line; below it, the title in italics with no full stop, along the lines of "Sociodemographic and Clinical Characteristics at Baseline". Inside there is not a single vertical line: three horizontal rules —above the heading, below the heading, and at the foot— plus the short spanner rule that covers a set of columns when you group them under a shared heading. No alternating shading and no bold to "highlight" a row.
The first column is the label, and that is where each row declares its statistic: "Age in years, M (SD)", "Weeks on the waiting list, Mdn [IQR]", "Women, n (%)". With that the reader never has to guess what the two numbers in a cell are, and you are spared an enormous note. Labels are written in readable words rather than in the variable name from your data file: nobody knows what AGE_REC2 is. Choose your decimals once for the whole table, keep the SD at the same precision as the mean —20.1 (2.3), not 20.14 (2.31)— and align the figures on the decimal point.
The note opens with "Note." in italics and does three jobs: it spells out abbreviations, clarifies what a cell contains when the label did not, and explains odd denominators. A real note fits in two lines: "Note. Percentages are calculated over the n of each column. IQR = interquartile range. Parental education was calculated over 189 cases because of missing data." The probability note, the one with the asterisks, has no business in this table, for the reason you read two sections ago.
The test of a well-built table is showing it to somebody without the paper around it: if they cannot tell you how many people there were, how they were split and what each row measures, the label or the note is missing something. If you would rather build it with your own numbers and have it come out with the italics, the rules and the decimals already in place, the APA table generator writes it in this format.
Already drafted it? Paste your Results section into Review one section: it reads it the way a reviewer would and returns the first objection, attached to the sentence that causes it.
Frequently asked questions
What variables should go in Table 1 of sample characteristics?
Sociodemographic ones (age, sex or gender, education, employment), clinical or contextual ones (diagnosis, comorbidity, time since onset, medication, baseline severity), and whatever you will later use as a covariate, as a stratification factor or as a pre-specified moderator. Post-treatment outcomes do not belong there, and neither do individual scale items. If a variable fits none of those three blocks, it is almost always surplus.
When do you use median and IQR instead of mean and standard deviation?
When the variable is skewed and the mean stops describing anyone real. The classic cases are times and counts: weeks on the waiting list, Mdn = 10.0 [5.0, 24.0], whose mean is 17.6 with an SD of 19.8. If the standard deviation approaches or exceeds the mean on a variable that cannot go below zero, reach for the median. You make the call by looking at the histogram and comparing mean with median, not by running a Shapiro-Wilk: at N = 480 it rejects any trivial departure and at n = 22 it rejects almost nothing.
Should Table 1 include p values comparing the groups?
In a randomized trial, no. The null hypothesis of no baseline difference is true by construction, because chance formed the groups, so a significant result in that row is by definition a type I error, and the CONSORT explanation advises against those tests explicitly. In an observational study the test is logically meaningful, but the standardized difference tells you more, because it does not grow with N. In a descriptive study with no groups there is nothing to compare.
How do you write counts and percentages in an APA 7 table?
Count first and percentage in brackets, 54 (55.1%), with the percentage calculated over the n of the column unless the note says otherwise. The n in the label is italic and the % symbol is not. With missing data you either recompute over valid cases and declare it in the note, or add a "Not reported" row with its count. A percentage without its count beside it does not get published, and below a denominator of about twenty the decimal implies a precision you do not have.
What if the journal or the reviewer insists on the baseline p values?
Put them in, and add the magnitude beside them: the difference with its confidence interval, or the standardized difference. In your response letter, explain in three lines that in a randomized design the null hypothesis is true by construction and cite the CONSORT explanation. What you should not do, even with the column in place, is use those p values to decide which covariates enter the model: that genuinely changes your results, and it is what you will be asked about later.
Do you add a total column as well as one per group?
Only when it earns its place. In a balanced two-arm trial the total column is arithmetic the reader can do, and it eats space you need for rows. In an observational study with three or four groups, or with groups of very different sizes, it lets someone read the whole sample in one pass. Whichever you choose, the total N has to appear somewhere: in a heading, in the table title, or in the note.
Build it with your own numbers instead of fighting the italics
Everything above is a content decision: which statistic goes in each row, which denominator the percentage is taken over, what the note has to say. What comes next is pure mechanics, and mechanics is what goes wrong at eleven at night: the M italic and the per cent sign not, the SD carrying the same decimals as the mean, three horizontal rules and no vertical ones, each group's n in its heading. Paste your rows into the APA table generator, tell it what each column holds, and it hands back a Table 1 formatted to drop into the manuscript, italics and decimals already in place.
Build your Table 1 in APA format →Keep the rule that settles half the questions: every row of Table 1 has to be readable on its own. If the label declares the statistic, if the note explains the odd denominator, and if the count comes before the percentage, a reader understands your sample without reading the whole Method section. And if you finish the table holding a spare column of p values between groups you randomized, the fix is not to justify it in the Discussion: it is to delete it and put the size of the imbalance in its place, which is the number they were going to ask about anyway.