Simple Random Sampling Tool
Show step-by-step digit trace
What Is a Random Digit Table?
A random digit table is a grid of digits — 0 through 9 — where each digit has an equal probability of appearing in any position, independent of every other digit. No digit predicts the next. Row 3 tells you nothing about row 4. The digit in position 7 gives no information about position 8.
The RAND Corporation published the first large-scale table in 1955: A Million Random Digits with 100,000 Normal Deviates, generated using an electronic noise source. Before that, statisticians built smaller tables by reading digits from telephone directories or census records — both of which introduced subtle patterns the digit tables were meant to eliminate.
Today, computers generate pseudo-random digits far faster than any printed table allows. But statistics teachers still use printed tables because the selection process is visible. Every digit selected has a traceable reason. Students can audit the sample line by line, which is something a black-box sample() call does not offer.
Definition (for Featured Snippet): A random digit table is a pre-generated sequence of digits 0–9 in which each digit is equally likely to appear at every position, with no relationship between neighboring digits. Statisticians use it to select simple random samples by numbering a population 1 to N, then reading digit groups sequentially from a random starting point.
Interactive Random Digit Table
The table uses a seeded pseudo-random generator (LCG). Change the seed for a reproducible different table — record your seed alongside your starting row so others can verify your sample. Each row contains 50 digits displayed as 10 groups of 5. After running the sampler above, selected cells appear green; skipped-range cells appear red; duplicate skips appear yellow.
Generated using LCG algorithm (Numerical Recipes constants: a = 1,664,525; c = 1,013,904,223; m = 2³²). Each row contains 50 digits. Digits are uniformly distributed on {0–9}. Record your seed and starting row to make any sample reproducible. This tool mirrors the approach described in RAND (1955).
The Read-Skip-Select Framework
An original teaching framework for Statistics Fundamentals
Three actions cover every situation you will encounter when sampling from a random digit table. Master these and you can handle any population size, any starting point, and any sample size without hesitation.
Read digit groups left to right, one group at a time. The group size matches the number of digits in N — for N = 50, read 2 digits at a time; for N = 200, read 3. When you reach the end of a row, move to the first digit of the next row without skipping anything.
Skip a group if (a) the number it forms falls outside 01 through N — this includes 00, 000, or any value above N — or (b) you already selected that number and you are sampling without replacement. Do not stop, restart, or jump ahead. Move directly to the next group.
Record each digit group that falls between 01 and N (inclusive) and that you have not already selected. That group identifies one population member. Add it to your sample. Stop when you reach n selections.
Classroom application: Have students underline each digit group as they read it. Green underline for a selection, red for a range skip, yellow for a duplicate skip. The trail becomes auditable and catches procedural errors before they carry into the analysis.
How to Use a Random Digit Table: 6 Steps
Each step has a specific statistical purpose. Skipping one does not just make the procedure sloppy — it changes what the sample actually represents.
Step 1 — Define and Number the Population
List every member of the population you want to draw conclusions about. This numbered list is your sampling frame. Assign a unique number to each member from 1 to N using leading zeros so all numbers occupy the same digit count: 01–30 for N = 30; 001–250 for N = 250; 0001–1500 for N = 1,500. If the frame is incomplete, the table cannot correct it — frame bias enters regardless of how carefully you read the digits.
Step 2 — Determine Digit Group Size
The digit group size equals the number of digits in N:
Example: N = 175 students → 3-digit groups. Valid: 001–175. Skip 000 and 176–999. Roughly 82% of groups will be skipped — that is normal and does not indicate an error.
Step 3 — Choose a Random Starting Point
Select a row and position before you look at any digits you plan to use. Common methods: roll two dice, draw numbers from a hat, or use your instructor's assigned position. Starting where you see a number you want is selection bias — it violates the equal-probability requirement of simple random sampling.
Step 4 — Read Digit Groups Left to Right
Beginning at your starting position, read one group of the correct size at a time. At the end of a row, continue at the left edge of the next row. Never skip rows, jump ahead, or restart mid-table. The sequential reading is what makes every unit equally accessible.
Step 5 — Apply the Skip Rules
Skip (out of range): Group = 00 (000, 0000) or group > N
Skip (duplicate): Group already selected — when sampling without replacement
Step 6 — Record, Stop, and Document
Record each valid group until you have n selections. Document your seed (or table reference), starting row, and starting position alongside the sample. Without this record, the sample cannot be independently verified. In research contexts, this audit trail is part of the methodology section.
Worked Example 1: 5 Students from a Class of 30
Scenario: A teacher has 30 students numbered 01–30 and needs to select 5 at random for a survey. She uses the table above (seed 31415926), starting at Row 3, Position 1.
Setup
| Parameter | Value | Reasoning |
|---|---|---|
| N | 30 | Students labeled 01–30 |
| n | 5 | 5 students for the survey |
| Digit group size | 2 | N = 30 ≤ 99, so read 2 at a time |
| Valid range | 01–30 | Skip 00 and 31–99 |
| Start | Row 3, Position 1 | Chosen before reading the table |
Digit-by-Digit Trace (2-digit groups)
| # | Digits | Value | Action | Reason |
|---|---|---|---|---|
| Click "Generate Table" above to populate this trace. | ||||
Worked Example 2: Inspecting 10 Items from a Batch of 500
Scenario: A quality control engineer needs to inspect 10 items from a production batch of 500 units numbered 001–500. She reads 3-digit groups from Row 1, Position 1. This setup appears frequently in manufacturing audits and acceptance sampling plans.
Digit-by-Digit Trace (3-digit groups from Row 1, Position 1)
| # | Digits | Value | Action | Reason |
|---|---|---|---|---|
| Click "Generate Table" above to populate this trace. | ||||
Sampling With vs Without Replacement
The replacement mode determines whether the same population unit can appear more than once in a sample. Most surveys and quality inspections use without replacement. Bootstrapping and some simulation methods use with replacement.
| Feature | Without Replacement | With Replacement |
|---|---|---|
| Same unit selected twice? | No | Possible |
| Duplicate skip rule | Yes — skip duplicates | No — keep all valid groups |
| n vs N constraint | n ≤ N required | n can exceed N |
| Typical use | Surveys, audits, quality control | Bootstrapping, Monte Carlo |
| Variance of sample mean | σ²(1 − n/N) / n | σ² / n |
The factor (1 − n/N) is the finite population correction (FPC). It reduces sampling variance when n/N is large. For n/N < 0.05, the FPC is close to 1 and has negligible effect. See sampling distributions for how this connects to standard errors and the central limit theorem.
Random Digit Table vs Random Number Generator
Both produce valid simple random samples when used correctly. The table is a teaching and audit tool. The generator is a production tool for large samples.
Random Digit Table
Pre-generated list of digits read sequentially. Fully reproducible from a seed. Every selection step is visible and checkable by anyone who holds the same table and starting point. Practical limit: a few hundred selections before crossing too many rows. Standard in AP Statistics courses and introductory college statistics.
Computer RNG
Generates random values on demand. Handles populations in the millions instantly. Reproducible from a seed (set.seed() in R; random.seed() in Python). The selection trail requires logging. Standard tool in research, clinical trials, and data science pipelines.
This page combines both: it uses a computer LCG to generate the table, but displays it so you can read digit groups manually, exactly as you would with a printed textbook table. The seed makes your table reproducible. The interactive sampler traces each step so you see the Read-Skip-Select process in action.
10 Common Mistakes When Using a Random Digit Table
1. Wrong digit group size
Reading 2-digit groups for N = 120. You need 3-digit groups whenever N > 99.
2. Picking a starting point after seeing the digits
The starting point must be chosen randomly before you read any part of the table you plan to use.
3. Numbering from 0 instead of 1
Labeling members 0–29 instead of 1–30 makes group 00 a valid selection and changes the skip rules.
4. Keeping duplicates when sampling without replacement
If a number appears twice and you record it both times, you are no longer sampling without replacement.
5. Skipping rows with many invalid groups
Many consecutive skips is expected for small populations. It is not a sign to jump ahead or restart.
6. Reading across group boundaries
For 2-digit groups, digits 1–2 form group 1 and digits 3–4 form group 2. Never straddle a group boundary mid-row.
7. Changing method mid-sample
Switching from without replacement to with replacement partway through, or changing the group size, invalidates the entire sample.
8. Not documenting the starting point
Without a recorded seed and starting row/position, no one can independently verify or replicate your sample selection.
9. Confusing the sampling frame with the population
The table only selects from members on your numbered list. An incomplete list introduces frame bias that no sampling method can detect or fix after the fact.
10. Thinking more skips means a worse sample
For N = 30 with 2-digit groups, about 70% of groups are skipped (31–99 plus 00). That is arithmetically expected — the sample quality is unaffected.
Practice Problems
Work through each problem using the table above. Click the button to verify your answer.
Beginner
Intermediate
Advanced
Concept Glossary
These definitions follow standard usage in survey sampling and introductory statistics texts, including Moore (2021) and Cochran (1977).
| Term | Definition | Formula / Key Note |
|---|---|---|
| Random Digit Table | Grid of digits 0–9 where each digit is equally likely at every position, independent of all others | P(digit = k) = 1/10 for k = 0–9 |
| Simple Random Sampling | Every possible sample of size n from population N has equal probability of selection | P(unit selected) = n / N |
| Population (N) | The complete group you want to draw conclusions about | N = total population count |
| Sampling Frame | Numbered list of all population members from which the sample is actually drawn. Frame errors bias results regardless of sampling method. | Must cover 100% of N |
| Without Replacement | Once selected, a unit is removed from further consideration. Each unit appears at most once in the sample. | Var(ȳ) = S²(1 − f)/n; f = n/N |
| With Replacement | A selected unit is returned and can be selected again. The same unit may appear multiple times. | Var(ȳ) = σ²/n |
| Sampling Bias | Systematic error from giving some units higher or lower selection probability than others. Cannot be reduced by increasing n. | E[ȳ] ≠ μ when bias exists |
| Probability Sampling | Any design where each unit has a known, nonzero probability of selection — enabling valid statistical inference | SRS, stratified, cluster, systematic |
| Pseudo-Random Numbers | Deterministic sequence from a seed that passes statistical tests for randomness but is fully reproducible given the same seed | LCG: xₙ₊₁ = (axₙ + c) mod m |
| Finite Population Correction | Multiplier that reduces variance estimates when the sample is a large fraction of the population (n/N > 0.05) | FPC = √(1 − n/N) |
| Randomization | Using chance to assign units to groups or to samples, eliminating systematic selection effects | Foundation of experimental validity |
| Sampling Distribution | Distribution of a statistic across all possible samples of size n from the population | Sampling Distributions guide |
Frequently Asked Questions
References and External Resources
RAND Corporation (1955). A Million Random Digits with 100,000 Normal Deviates. The Free Press / RAND. Reprint: RAND Corporation, 2001. The first large-scale table generated by an electronic noise source; the standard that statistics textbook authors adopted through the 1980s–1990s. rand.org
Moore, D. S., McCabe, G. P., & Craig, B. A. (2021). Introduction to the Practice of Statistics (10th ed.). W. H. Freeman. Chapter 3 covers simple random sampling, random digit tables, and the distinction between sampling with and without replacement. The standard AP Statistics and introductory college statistics reference. macmillanlearning.com
NIST/SEMATECH e-Handbook of Statistical Methods (2013). Section 5.3.1: How to Sample Data. National Institute of Standards and Technology. itl.nist.gov — U.S. government reference on simple random sampling procedures and their statistical properties, including quality control applications.
OpenStax Statistics (2023). Chapter 1: Sampling and Data. OpenStax CNX. openstax.org — Free, peer-reviewed open textbook covering random sampling, probability sampling, and data collection methods. Suitable for college-level introductory courses.
Khan Academy (2024). Sampling Methods. Statistics and Probability. khanacademy.org — Accessible explanations and practice on simple random sampling, systematic sampling, and sampling bias, with worked examples.
Cochran, W. G. (1977). Sampling Techniques (3rd ed.). Wiley. The foundational graduate-level text on probability sampling — covers SRS variance theory, the finite population correction, and stratified and cluster designs. Chapter 2 derives the mathematical properties of simple random sampling.
Related Statistical Tables & Resources
Random Sampling in Research and Education
Why Randomization Makes Inference Valid
When every unit has the same selection probability, sample means and proportions are unbiased estimators of population parameters. Without randomization, estimates can be systematically off in ways no amount of subsequent analysis can detect. The central limit theorem and all standard confidence intervals assume random sampling. The digit table is the simplest demonstration that chance — not judgment — drove the selection.
From Tables to Modern Research Practice
The logic of the random digit table scales directly to modern tools. sample() in R, random.sample() in Python, and PROC SURVEYSELECT in SAS all implement the same idea — select units with equal probability from a numbered frame. A seed makes them reproducible. The table just makes this process slow enough to learn from. See the study design guide for how random selection connects to causal inference.
Sample Size and Margin of Error
Margin of error depends on sample size n, not population size N — for large N. Doubling n reduces the margin by a factor of √2, not by half. National opinion polls with n = 1,000 estimate voter sentiment accurately because sampling variability is set by n. Determine your n before you start selecting. The sample size calculator handles the arithmetic. Then use the random digit table — or any seeded generator — to do the actual selection.