Analyze My Study
SPSS Tutorial

How to Analyze Data in SPSS for Medical Research: Complete Beginner Guide

- 20 min read ... June 2025 Updated June 2025
S
StatClinic Editorial Team Statistical content for medical researchers and clinicians
SPSS IBM's Statistical Package for the Social Sciences is the most widely used statistical software in medical thesis research worldwide. Walk into any postgraduate research office at a teaching hospital and you will find it running on at least one screen. Yet for most medical students encountering it for the first time, SPSS feels impenetrable: dozens of menus, cryptic output tables, and no obvious starting point. This guide changes that. From your first click to your final interpreted result, every essential step is explained in plain language data entry, variable coding, descriptive statistics, normality testing, choosing the right test, running it, and making sense of the output. By the end, you will have a working framework for analyzing virtually any cross-sectional or comparative medical dataset.

What Is SPSS and Why Do Medical Researchers Use It?

SPSS (Statistical Package for the Social Sciences) is a point-and-click statistical software platform developed in the 1960s and now owned by IBM. Despite its name referencing "social sciences," it has become the dominant analysis tool in clinical research, epidemiology, public health, and medical education across the developing world particularly in Egypt, Saudi Arabia, India, Southeast Asia, and Sub-Saharan Africa.

Its dominance in medical thesis research comes from three practical advantages:

25+
Statistical procedures covered in SPSS Analyze menu
v2029
All versions compatible with this guide's menu paths
0
Lines of code required to run a complete thesis analysis

Understanding the SPSS Interface: Data View vs Variable View

When you open SPSS and create a new dataset, you see a spreadsheet with two tabs at the very bottom of the window: Data View and Variable View. Understanding the difference between these two tabs is the most important conceptual step for any beginner.

-
SPSS Main Window Data View and Variable View Tabs
The two tabs appear at the bottom left of the SPSS spreadsheet window.
Switch between them by clicking Variable View first, then Data View for data entry.
Screenshot Placeholder

Data View

Data View is your data matrix the actual spreadsheet where numbers live. Each row represents one participant (one patient, one case), and each column represents one variable. A dataset with 80 patients and 15 measured variables will have 80 rows and 15 columns in Data View. This is where you type or paste your raw data after setting up Variable View.

Variable View

Variable View is your data dictionary it defines the rules for every column in your dataset. Each row in Variable View corresponds to one variable (one column in Data View). The columns in Variable View define the properties of each variable:

SPSS Variable View Defining Variable Properties
Each row = one variable. Fill in Name, Label, Values (for categorical), Missing, and Measure columns before entering any data.
Screenshot Placeholder

Data Entry and Variable Coding: The Foundation of Clean Analysis

Variable coding is the process of assigning numeric codes to categorical responses. Because SPSS works primarily with numbers, every categorical response must be converted to a numeric code before data entry. A common source of errors in medical theses is inconsistent coding the coding scheme must be established in Variable View before a single data point is entered.

Standard Coding Conventions in Medical Research

VariableSPSS NameValues (Codes)Measure Level
Sex sex 1 = Male, 2 = Female Nominal
Disease stage stage 1 = Stage I, 2 = Stage II, 3 = Stage III, 4 = Stage IV Ordinal
Treatment group group 1 = Control, 2 = Drug A, 3 = Drug B Nominal
Outcome (binary) outcome 0 = No event, 1 = Event occurred Nominal
Satisfaction (Likert) satisfy 1 = Very dissatisfied 5 = Very satisfied Ordinal
Age (years) age Continuous (no codes needed) Scale
Hemoglobin (g/dL) hgb Continuous (no codes needed) Scale
Systolic BP (mmHg) sbp Continuous (no codes needed) Scale
Golden Rule of Data Entry Never mix formats within a column. If sex is coded 1/2, every cell in that column must contain 1 or 2 (or the defined missing value code). Never type "Male" or "M" in a column defined as Numeric SPSS will flag it as a system-missing value. Never leave cells blank use a defined missing value code instead of an empty cell, or SPSS will treat blanks as system-missing without your knowledge.

Creating Value Labels for Better-Looking Output

In Variable View, click the cell in the Values column for your categorical variable. Click the small grey button that appears to open the Value Labels dialog. Add each code-label pair: type 1 in the Value box, type Male in the Label box, click Add. Repeat for each category. Now your output tables will show "Male" and "Female" instead of "1" and "2" making tables immediately interpretable without a separate code book.

Running Descriptive Statistics in SPSS

The first analysis in any medical thesis is descriptive statistics a characterization of your sample that answers the question "who are your participants?" This becomes Table 1 in virtually every published clinical paper.

For Continuous Variables (Scale): Mean, SD, Range

1

Open Descriptives

Navigate to: Analyze Descriptive Statistics Descriptives

Analyze Descriptive Statistics Descriptives
2

Select Variables

Move all continuous variables (age, hemoglobin, SBP, BMI, etc.) into the Variables box. Click Options to select which statistics to include: Mean, Std. Deviation, Minimum, Maximum. For medical theses, also select Skewness to help assess normality.

3

Run and Read Output

Click OK. SPSS generates a Descriptive Statistics table with N, Minimum, Maximum, Mean, and Std. Deviation for each continuous variable. This forms the basis of your "Characteristics of the Study Population" table.

Example SPSS Output Descriptive Statistics (Continuous Variables)
Variable
N
Min
Max
Mean
Std. Dev.
Age (years)
85
22
68
41.3
12.4
Hemoglobin (g/dL)
85
9.2
16.8
12.8
1.9
Systolic BP (mmHg)
85
98
182
128.6
18.3
How to report: "The mean age of participants was 41.3 +/- 12.4 years (range 2268). Mean hemoglobin was 12.8 +/- 1.9 g/dL and mean systolic blood pressure was 128.6 +/- 18.3 mmHg."

Frequency Tables for Categorical Variables

For nominal and ordinal variables (sex, blood group, disease stage, treatment group, yes/no outcomes), you need frequency tables counts and percentages for each category. These also appear in Table 1 of your thesis.

1

Open Frequencies

Analyze Descriptive Statistics Frequencies
2

Select Categorical Variables

Move all categorical variables (sex, group, stage, outcome, etc.) into the Variable(s) box. Leave "Display frequency tables" checked. Click OK.

Example SPSS Output Frequency Table (Sex)
Sex
Freq.
Percent
Valid %
Cumulative %
Male
47
55.3%
55.3%
55.3%
Female
38
44.7%
44.7%
100.0%
Total
85
100.0%
100.0%
How to report: "Of the 85 participants, 47 (55.3%) were male and 38 (44.7%) were female."
Pro Tip: Use Frequencies for Checking Data Entry Run Frequencies on every variable immediately after data entry before any analysis. Look for impossible values (e.g., age = 0 or 999 when 999 was not defined as missing), categories that should not exist (e.g., sex = 3 when only 1 and 2 are valid), and surprisingly low or high frequencies that may signal data entry errors. This data cleaning step takes 5 minutes and prevents hours of debugging later.

Testing Normality in SPSS Before Choosing a Test

Before selecting any inferential statistical test for a continuous outcome variable, you must assess whether the variable follows a normal distribution. Parametric tests (t-test, ANOVA, Pearson correlation) assume normality; non-parametric tests (Mann-Whitney, Kruskal-Wallis, Spearman) do not. Skipping this step is one of the most common methodological errors in medical theses.

1

Run the Explore Procedure

Analyze Descriptive Statistics Explore

Move your continuous variable into the Dependent List. If testing by group, move the grouping variable into the Factor List.

2

Request Normality Tests and Plots

Click Plots check Normality plots with tests and Histogram. Click Continue, then OK.

Plots Normality plots with tests Histogram Continue OK
3

Read the Tests of Normality Table

Find the Shapiro-Wilk column (recommended for n < 300). Look at the Sig. value. If Sig. > 0.05 data consistent with normality use parametric tests. If Sig. < 0.05 evidence of non-normality consider non-parametric alternatives. Also inspect the histogram and Q-Q plot visually.

The Direction Is Reversed For normality tests, a non-significant p value (p > 0.05) is what you want it means the data do not significantly differ from a normal distribution. A significant result (p < 0.05) means non-normality is detected. This is the opposite of how most other statistical tests work and is a frequent source of confusion for first-time SPSS users.

For a complete guide to normality testing including Shapiro-Wilk vs Kolmogorov-Smirnov, histogram interpretation, and what to do if data is non-normal, read our dedicated article: How to Test Normality in Medical Research

Choosing the Correct Statistical Test

After assessing normality, use the following decision table to select the appropriate test. The choice depends on three factors: how many groups you are comparing, whether groups are independent or paired/related, and whether the normality assumption is met.

Research SituationNormal Data ParametricNon-Normal Non-Parametric
Compare means: 2 independent groups Independent Samples T-Test Mann-Whitney U Test
Compare means: 2 paired/repeated measurements (before-after) Paired Samples T-Test Wilcoxon Signed-Rank Test
Compare means: 3 or more independent groups One-Way ANOVA + Post-Hoc Kruskal-Wallis Test
Compare proportions: 2 categorical variables Chi-Square Test* Fisher's Exact Test (small n)
Association between 2 continuous variables Pearson Correlation (r) Spearman Correlation ()
Predict outcome from one continuous predictor Linear Regression
Predict binary outcome (yes/no) Binary Logistic Regression

* Chi-Square has its own assumption: all expected cell frequencies 5. Use Fisher's Exact if any expected frequency < 5.

Running the Independent Samples T-Test in SPSS

Use the independent t-test when you want to compare the mean of a normally distributed continuous variable between two separate, unrelated groups for example, comparing mean hemoglobin between male and female patients, or comparing mean SBP between a treatment and a control group.

1

Open Independent Samples T-Test

Analyze Compare Means Independent-Samples T Test
2

Define Variables

Move the continuous outcome variable (e.g., hemoglobin) into the Test Variable(s) box. Move the grouping variable (e.g., sex: coded 1=Male, 2=Female) into the Grouping Variable box. Click Define Groups and enter the two group codes (1 and 2). Click Continue.

3

Click OK and Read the Output

SPSS generates two tables: (1) Group Statistics shows N, mean, SD, and SE for each group; (2) Independent Samples Test shows Levene's test for equality of variances and the t-test results with the p-value (Sig. 2-tailed).

SPSS Output Independent Samples T-Test
Two output tables: Group Statistics (descriptives per group) and Independent Samples Test (Levene's test + t-test p-value in Sig. 2-tailed column).
Screenshot Placeholder

How to Read the Independent Samples Test Output

The output table has two rows: Equal variances assumed and Equal variances not assumed. Which row to read depends on Levene's test:

Worked Example Hemoglobin by Sex

Question: Is there a significant difference in hemoglobin levels between male and female patients?

SPSS Output: Group Statistics: Males (n=47): Mean = 13.6 +/- 1.7 g/dL; Females (n=38): Mean = 11.8 +/- 1.6 g/dL
Levene's F = 0.84, p = 0.362 Equal variances assumed row.
t(83) = 4.87, p < 0.001 (Sig. 2-tailed = .000 in SPSS output)

How to report: "Mean hemoglobin was significantly higher in males (13.6 +/- 1.7 g/dL) than females (11.8 +/- 1.6 g/dL), t(83) = 4.87, p < 0.001."

Running One-Way ANOVA in SPSS

When you have three or more independent groups and want to compare a normally distributed continuous outcome variable across all groups simultaneously, use one-way ANOVA. Example: compare mean fasting glucose across three groups normal weight, overweight, and obese patients.

Why Not Multiple T-Tests? Running separate t-tests for each pair of groups inflates your Type I error rate dramatically. With three groups (A vs B, A vs C, B vs C), three t-tests at +/- = 0.05 give an experiment-wise error rate of 1 (0.95)3 = 14.3%. One-way ANOVA tests all groups simultaneously with a single +/- = 0.05, maintaining the correct error rate.
1

Open One-Way ANOVA

Analyze Compare Means One-Way ANOVA
2

Define Variables

Move the continuous outcome variable into the Dependent List. Move the grouping variable (with 3+ categories) into the Factor box.

3

Request Post-Hoc Tests

Click Post Hoc. For equal variances: check Tukey (most commonly used in medical research). For unequal variances: check Games-Howell. Click Continue. Then click Options check Descriptive and Homogeneity of variance test. Click Continue OK.

Post Hoc Tukey Continue Options Descriptive Homogeneity of variance test Continue OK
4

Read the ANOVA Table and Post-Hoc Results

The ANOVA table shows the F statistic and the p-value (Sig.). If p < 0.05, at least one group mean is significantly different. The Tukey post-hoc table then shows which specific pairs differ, with adjusted p-values for each pairwise comparison.

Example SPSS Output One-Way ANOVA Table
Source
SS
df
MS
F
Sig.
Between Groups
892.4
2
446.2
18.73
.000
Within Groups
1951.6
82
23.8
Total
2844.0
84
F(2, 82) = 18.73, p < 0.001. Report: "There was a statistically significant difference in fasting glucose across the three BMI groups, F(2, 82) = 18.73, p < 0.001. Tukey post-hoc analysis revealed significant differences between all three groups (all p < 0.05)."

Running the Chi-Square Test in SPSS

Use Chi-Square when both variables are categorical you want to know whether the distribution of one categorical variable differs across categories of another. For example: is there a significant association between sex and disease outcome (yes/no), or between treatment group and response (responder/non-responder)?

1

Open Crosstabs

Analyze Descriptive Statistics Crosstabs
2

Define Variables

Move one categorical variable into the Row(s) box and the other into the Column(s) box. Conventionally, the grouping (independent) variable goes in the rows and the outcome (dependent) variable goes in the columns.

3

Request Chi-Square and Percentages

Click Statistics check Chi-square and Phi and Cramer's V (effect size). Click Continue. Click Cells check Observed (counts) and Row percentages. Click Continue OK.

Statistics Chi-square Phi and Cramer's V Continue Cells Observed Row Continue OK
4

Check Expected Frequencies Before Reading Results

In Cells, also check Expected. Review the crosstable output SPSS will add a footnote telling you how many cells have expected frequencies < 5. If > 20% of cells have expected frequency < 5, use Fisher's Exact Test instead of Chi-Square (read the "Fisher's Exact Test" row in the Chi-Square Tests output table).

2
SPSS Output Crosstabs with Chi-Square Test
Output includes: Crosstabulation table (observed counts + row percentages), Chi-Square Tests table (Pearson Chi-Square, Fisher's Exact, df, Asymptotic Sig.), and Symmetric Measures table (Phi/Cram(c)r's V effect size).
Screenshot Placeholder
Worked Example Sex and Disease Outcome

Question: Is there a significant association between sex and 30-day readmission (yes/no) in 85 cardiac patients?

SPSS Output:
Males: 14/47 readmitted (29.8%); Females: 19/38 readmitted (50.0%)
All expected frequencies 5 (Chi-Square valid).
Pearson 2(1) = 3.82, p = 0.051; Cram(c)r's V = 0.21

How to report: "There was no statistically significant association between sex and 30-day readmission (2(1) = 3.82, p = 0.051, Cram(c)r's V = 0.21), though the trend approached significance with female patients showing higher readmission rates (50.0% vs 29.8%)."

Interpreting SPSS Output Tables: Key Rules for Medical Research

Understanding what SPSS output means and what it does not mean is as important as knowing how to generate it. The following principles apply to output from every analysis.

The Sig. Column Is Always Your p-Value

Across all SPSS output tables, the column labeled Sig. or Asymp. Sig. or Sig. (2-tailed) contains the p-value for the test. SPSS always displays p-values to three decimal places and shows .000 when the actual value is less than 0.0005. Never report ".000" in your thesis convert it to "p < 0.001."

Always Report the Test Statistic, Degrees of Freedom, and p-Value Together

A bare p-value ("p = 0.032") is insufficient for a thesis or journal. Always report the complete statistical statement in the standardized format:

Standard Reporting Format By Test Type
Test
Reporting Format
Independent T-Test
t(df) = value, p = value, d = value
One-Way ANOVA
F(df_between, df_within) = value, p = value, -2 = value
Chi-Square
2(df) = value, p = value, V = value
Mann-Whitney U
U = value, p = value, r = value
Pearson Correlation
r(df) = value, p = value
Effect size measures (d, -2, V, r) are now required by most journals and thesis committees. SPSS does not automatically compute Cohen's d or eta-squared calculate them manually from the output values or use an online effect size calculator.

A Significant Result Does Not Prove Clinical Importance

A statistically significant p-value (p < 0.05) only tells you the result is unlikely due to chance. With a large enough sample, even a clinically trivial difference such as 0.2 mmHg difference in blood pressure will achieve statistical significance. Always report the mean difference (or odds ratio, or correlation coefficient) and its 95% confidence interval alongside the p-value to convey the magnitude of any finding.

Common SPSS Mistakes in Medical Thesis Writing

Mistake 1: Using the Wrong Measurement Level for Variables

Setting a nominal variable (like sex or blood group) to "Scale" in Variable View causes SPSS to compute a meaningless mean (mean sex = 1.44). Setting a continuous variable (like age) to "Nominal" prevents SPSS from generating appropriate descriptive statistics. These errors cascade through every analysis that uses those variables.

Fix: In Variable View, set every categorical variable to Nominal (unordered categories) or Ordinal (ordered categories) and every continuous measurement to Scale. Review the Measure column for every variable before running any analysis. This takes two minutes and prevents hours of incorrect output.

Mistake 2: Skipping Normality Testing Before Selecting Statistical Tests

Applying a t-test or ANOVA to non-normally distributed data serum CRP, hospital length of stay, platelet counts in disease states without first checking normality is among the most common methodological errors flagged by thesis examiners. It results in p-values and confidence intervals that may be incorrect.

Fix: Run Analyze Descriptive Statistics Explore with normality plots and tests for every continuous outcome variable before selecting an inferential test. Document the Shapiro-Wilk result in your methods section and state which test was chosen as a result.

Mistake 3: Copy-Pasting Raw SPSS Output Tables Into the Thesis

Raw SPSS output tables have six decimal places, non-standard fonts, wide column widths, and header formats that do not match academic journal or thesis committee standards. Submitting unedited SPSS output is a signal that the researcher does not understand what the table means and it will be noticed.

Fix: Recreate all tables in Microsoft Word or Excel using the SPSS output values as your source data. Round appropriately (means to 1 decimal, p-values to 3 decimal places, percentages to 1 decimal). Remove redundant columns (Std. Error Mean rarely appears in thesis Tables). Use APA or journal-specific table formatting throughout.

Mistake 4: Reporting p = 0.000

SPSS displays ".000" in the Sig. column when the p-value is less than 0.0005 it is a rounding artifact, not a real value. Reporting "p = 0.000" in a thesis or paper is an immediate indicator that the researcher copied the SPSS output without understanding it.

Fix: Whenever SPSS shows ".000" in the Sig. column, always report it as "p < 0.001" in your thesis. This is the universal scientific convention and is required by all major medical journals and APA guidelines.

Mistake 5: Running Chi-Square Without Checking Expected Cell Frequencies

Chi-Square is only valid when all expected cell frequencies are 5. Researchers routinely run Chi-Square and report the result without verifying this assumption especially in studies with small group sizes or rare outcomes. SPSS adds a footnote to the Chi-Square output telling you how many cells violate this rule, but many researchers ignore or do not notice it.

Fix: Always request Expected frequencies in the Crosstabs Cells dialog. Read the SPSS footnote below the crosstabulation table it states the percentage of cells with expected frequency < 5. If > 20% of cells violate this rule, report Fisher's Exact Test (shown in the same Chi-Square Tests output table) instead of Pearson Chi-Square.

Mistake 6: Running Multiple T-Tests Instead of One-Way ANOVA

Comparing mean values across three groups (e.g., Drug A vs Drug B, Drug A vs Placebo, Drug B vs Placebo) by running three separate t-tests inflates the Type I error rate from 5% to 14.3% meaning your "significant" findings at the 5% level may simply be a product of repeated testing rather than a real effect. This is a fundamental statistical error.

Fix: When comparing means across three or more groups, always use one-way ANOVA (Analyze Compare Means One-Way ANOVA) followed by an appropriate post-hoc test (Tukey for equal variances, Games-Howell for unequal variances). Only after a significant ANOVA result do post-hoc tests identify which specific pairs differ and they do so with appropriate error rate control.

Frequently Asked Questions

What version of SPSS should medical students use? +
For medical thesis and research purposes, any version from SPSS 20 onward is suitable the core procedures (Explore, Frequencies, Crosstabs, Compare Means, One-Way ANOVA) have remained essentially unchanged across versions 20 through 29. IBM SPSS Statistics 26, 27, or 28 are the most commonly available in university computer labs. If your institution does not provide SPSS, IBM offers a 30-day free trial. Alternatively, JASP (free, open-source) offers a very similar interface and produces compatible output for the most common medical research procedures, including normality tests, t-tests, ANOVA, and Chi-Square.
How many decimal places should I use for SPSS output in a medical thesis? +
Standard practice: means and standard deviations to one decimal place beyond measurement precision (if hemoglobin is measured to 1 decimal, report 12.4 +/- 1.8 g/dL); p-values to three decimal places (p = 0.032) except very small values reported as p < 0.001; percentages to one decimal place (34.6%); test statistics (t, F, 2) to two decimal places. Never copy-paste SPSS output tables SPSS default formatting (6 decimal places, wide margins) is not publication-ready and will draw criticism from any examiner.
What is the difference between Variable View and Data View in SPSS? +
Data View displays your actual dataset each row is one participant, each column is one variable, each cell holds a value. Variable View is where you define the properties of each variable: its name, type, label (full descriptive name shown in output), value codes (1 = Male, 2 = Female), missing value codes, and measurement level (Nominal, Ordinal, or Scale). You must set up Variable View correctly before entering data errors here (wrong measurement level, undefined value codes, missing the missing value code) propagate through every subsequent analysis and are extremely difficult to trace once data entry is complete.
Can I run SPSS analysis on questionnaire data with Likert scale responses? +
Yes, with important nuances. Individual Likert items (single questions rated 15) are ordinal use non-parametric tests (Mann-Whitney, Kruskal-Wallis, Spearman, Chi-Square). Composite Likert scores (sum or mean of multiple items measuring the same construct, e.g., a 10-item depression scale) are treated as continuous/scale for most purposes, and parametric tests are generally acceptable after checking normality. Before any composite analysis, always run Cronbach's alpha (Analyze Scale Reliability Analysis) to confirm internal consistency of the scale. For guidance on questionnaire analysis methodology, see our article on Analyzing Questionnaire Data for Medical Thesis
How do I handle missing data in SPSS for medical research? +
Three steps: (1) Define missing value codes in Variable View click the Missing column for each variable and specify a numeric code (e.g., 99 for a 15 Likert scale, 999 for age) as a discrete missing value. SPSS will then automatically exclude these values from calculations. (2) Run Frequencies on every variable to identify the extent of missing data any variable with more than 5% missing requires explicit acknowledgment in your thesis. (3) For analyses requiring complete cases, SPSS uses listwise deletion by default (participants with any missing value are excluded from that analysis). For substantial missing data (>10%), discuss multiple imputation with a biostatistician available in SPSS via Analyze Multiple Imputation.
Should I report exact p-values or use p < 0.05 notation in my thesis? +
Always report exact p-values wherever possible. Write p = 0.032 rather than p < 0.05. For very small values, use p < 0.001 as the conventional lower bound never write p = 0.000 (a SPSS rounding artifact). The American Statistical Association, APA 7th edition, and most major medical journals now require exact p-values as standard reporting practice. When SPSS shows ".000" in the Sig. column, always convert this to "p < 0.001" in your thesis. Alongside p-values, always report your test statistic (t, F, 2), degrees of freedom, and an appropriate effect size measure (Cohen's d, eta-squared, Cram(c)r's V).

Not Sure Which Test to Run Next?

StatClinic's AI Statistical Assistant identifies the correct test for your study design, data type, and normality result then walks you through interpretation. Free, no registration required.

Try StatClinic AI Statistical Assistant