Figura

Guided analysis

Table 1 baseline characteristics

Upload a CSV, tick the variables, and get a Table 1 that a reviewer will not send back. Figura tests each continuous variable for normality within your groups and reports mean ± SD or median (IQR) accordingly, with the reason on the row.

What this table (a clinical “Table 1”) is for

A baseline characteristics table (“Table 1”) describes who was in the study: the distribution of each variable, overall and — when relevant — by study group. It is a description, not a hypothesis test.

Mean ± SD or median (IQR)?

Report mean ± SD only when a continuous variable is approximately normally distributed. For skewed variables — length of stay, cost, many biomarkers — report the median with interquartile range. Reporting a mean for a skewed variable is the single most-cited descriptive-statistics error in manuscript review.

This tool checks each numeric variable for you (Shapiro–Wilk test for small samples, skewness for large ones, assessed within your study groups), picks the appropriate summary, and shows a one-line reason next to the row so you can defend the choice — and shows the distribution so you can see it.

SD, never SEM

The standard deviation (SD) describes how spread out the data are. The standard error of the mean (SEM) is smaller and describes the precision of the mean — it is not a measure of dispersion. This tool always reports SD, labeled unambiguously, and never SEM.

Missing data and denominators

Reporting guidelines (STROBE) ask for the number of observations per variable and the count of missing values, with percentages computed on an unambiguous denominator. This tool reports a per-variable missing count and computes each percentage on the non-missing count, stated on the variable’s own row — the column header’s N includes rows with missing values, so it is never used as the percentage denominator.

Why there are no p-values here

In a randomized trial, any baseline difference between arms is by definition due to chance, so a p-value testing baseline balance answers a question no one is asking — the “Table 1 fallacy.” CONSORT explicitly discourages baseline significance tests. This tool does not produce them. Describe the groups; test your outcomes elsewhere.

Example output

CharacteristicControl (N=60)Treatment (N=60)Missing
Age, mean ± SD
approximately normal (Shapiro–Wilk p = 0.554); assessed within groups
59.6 ± 11.160.2 ± 11.40
Length of stay, median (IQR)
right-skewed (skewness 1.3); Shapiro–Wilk p < 0.001; assessed within groups
3.7 (2.25–6)4.1 (2–7.3)8
CRP, median (IQR)
right-skewed (skewness 3.1); Shapiro–Wilk p < 0.001; assessed within groups
4.5 (2.48–7.15)4.85 (2.22–8.45)0
Sex
n (%) of 120 with data
0
Female32 (53%)28 (47%)
Male28 (47%)32 (53%)
Diabetes
n (%) of 120 with data
0
No32 (53%)44 (73%)
Yes28 (47%)16 (27%)
Age Length of stay CRP 40 50 60 70 80 0 5 10 15 0 20 40 0.00 0.03 0.06 0.09 0.12 0.00 0.05 0.10 0.15 0.00 0.01 0.02 0.03 0.04 0.05 Density Age Length of stay CRP Control Treatment Control Treatment Control Treatment 0 20 40 5 10 15 40 50 60 70 80
dashed = mean · solid = median · curve = density — when the lines separate, the variable is skewed (or, in grouped data, shifted between groups)
box = median and IQR, whiskers to 1.5 × IQR, dots = individual observations
Synthetic demonstration data
Synthetic demonstration data: the table Figura renders for the example dataset.

The text Figura produced for this example, ready to paste into a methods section:

Characteristic	Control (N=60)	Treatment (N=60)	Missing
Age, mean ± SD	59.6 ± 11.1	60.2 ± 11.4	0
Length of stay, median (IQR)	3.7 (2.25–6)	4.1 (2–7.3)	8
CRP, median (IQR)	4.5 (2.48–7.15)	4.85 (2.22–8.45)	0
Sex			0
Female	32 (53%)	28 (47%)	
Male	28 (47%)	32 (53%)	
Diabetes			0
No	32 (53%)	44 (73%)	
Yes	28 (47%)	16 (27%)	

Continuous variables are summarized as mean ± SD when approximately normal and as median (IQR) otherwise; normality was assessed within groups with the Shapiro–Wilk test (n ≤ 300) and skewness. Categorical variables are n (%) with the non-missing count as the denominator. Missing values are reported per variable. No hypothesis tests are reported for baseline characteristics.

Analyses were performed with Figura (Saha, 2026; https://figurastats.org), which runs R in the browser.

Sample data

Download sample.csv — 120 rows, columns age, length_of_stay, crp, sex, diabetes, arm. A frozen synthetic dataset generated by a script in the repository's data-raw/ folder; nothing in it is a real patient.

How to cite

Journals ask for a software statement. The methods text Figura generates already ends with one; this is the same attribution in reference form.

Saha S. Figura: clinical manuscript figures and statistics in the browser. 2026. https://figurastats.org
@misc{figura2026,
  author = {Saha, Sandeep},
  title  = {Figura: clinical manuscript figures and statistics in the browser},
  year   = {2026},
  url    = {https://figurastats.org},
  note   = {Accessed <date>}
}