Reporting results

How to Interpret Chi-Square Test Output in SPSS (and Report It in APA 7)

Read SPSS's Crosstabs output row by row: Pearson Chi-Square vs Continuity Correction vs Fisher's, the expected-count footnote, phi, and the APA 7 write-up.

SPSS's Crosstabs procedure answers one question, whether two categorical variables are related, with up to six test statistics on separate rows. Picking the right row, and checking the footnote that tells you whether you may use it, is most of the work. This guide reads each table row by row with a worked 2 × 2 example, lists the misreadings to avoid, and ends with the APA 7 write-up. The reporting format alone is in the chi-square APA guide.

What SPSS gives you

Analyze > Descriptive Statistics > Crosstabs, with Chi-square and Phi and Cramér's V ticked under Statistics, and Observed, Expected and Row percentages ticked under Cells, produces:

  1. Case Processing Summary: how many cases were valid and missing.
  2. Crosstabulation: the table of counts.
  3. Chi-Square Tests: the test statistics. This is the result.
  4. Symmetric Measures: the effect size.

The worked example

A clinic sent text reminders to 90 patients before their appointment and no reminder to another 90, then recorded who attended. Reminder is the row variable and Attended the column variable. All numbers below come from one dataset.

Case Processing Summary (not reproduced) lists 180 valid cases, 0 missing. Check it: cases with a missing value on either variable are silently dropped from everything that follows.

Table 1: Reminder * Attended Crosstabulation

SPSS puts "Attended" over the Yes and No columns; here the heading is flattened.

ReminderAttended: YesAttended: NoTotal
Text reminderCount761490
Expected Count70.020.090.0
% within Reminder84.4%15.6%100.0%
No reminderCount642690
Expected Count70.020.090.0
% within Reminder71.1%28.9%100.0%
TotalCount14040180
Expected Count140.040.0180.0
% within Reminder77.8%22.2%100.0%
  • Count: the observed frequencies. 76 of the 90 reminded patients attended; 64 of the 90 not reminded did.
  • Expected Count: what each cell would hold if attendance were unrelated to the reminder. Each one is row total × column total / N, for example 90 × 140 / 180 = 70.0. The chi-square statistic measures how far the counts are from these.
  • % within Reminder: row percentages, which compare attendance between the reminder groups: 84.4% vs 71.1%. These are the percentages to report when the row variable is the one you think explains the column variable. "% within Attended" (column percentages) answers a different question.

Table 2: Chi-Square Tests

ValuedfAsymptotic Significance (2-sided)Exact Sig. (2-sided)Exact Sig. (1-sided)
Pearson Chi-Square4.629ᵃ1.031
Continuity Correctionᵇ3.8891.049
Likelihood Ratio4.6861.030
Fisher's Exact Test.048.024
Linear-by-Linear Association4.6031.032
N of Valid Cases180

Footnotes under the table:

  • a. 0 cells (0.0%) have expected count less than 5. The minimum expected count is 20.00.
  • b. Computed only for a 2x2 table.

Check footnote a first. The chi-square test is approximate, and the approximation needs large enough expected counts. The usual rule: no more than 20% of cells below 5, and none below 1. Here 0 cells are below 5 and the smallest expected count is 20, so the Pearson chi-square is valid. If footnote a reports more than 20% of cells below 5 in a 2 × 2 table, report Fisher's Exact Test instead (see the Fisher's exact test guide).

The rows:

  • Pearson Chi-Square: the standard test and the row to report. Value = 4.629 (χ²), df = 1, Asymptotic Significance (2-sided) = .031 (p).
  • Continuity Correction: Yates's correction, printed only for 2 × 2 tables. It makes the test more conservative: here p = .049. Report it only if your field or supervisor asks for it, and say so.
  • Likelihood Ratio: an alternative statistic (G²) that is used in log-linear modelling; not usually reported for a simple crosstab.
  • Fisher's Exact Test: an exact p with no statistic, printed for 2 × 2 tables. Exact Sig. (2-sided) = .048. Use it when expected counts are small.
  • Linear-by-Linear Association: a test for a trend between two ordinal variables. It means nothing for unordered categories like these. Ignore it.
  • N of Valid Cases: 180, the N you report.

df is (rows − 1) × (columns − 1) = 1 for a 2 × 2 table. Older versions label the significance column "Asymp. Sig. (2-sided)".

Table 3: Symmetric Measures

ValueApproximate Significance
Nominal by NominalPhi.160.031
Cramer's V.160.031
N of Valid Cases180
  • Phi = .160: the effect size for a 2 × 2 table, on the same scale as a correlation. .10 is small and .30 medium, so this is a small association. Its sign depends only on how the categories are coded, so most write-ups report it without a sign and say the direction in words.
  • Cramér's V = .160: the effect size for larger tables. For a 2 × 2 table it equals the absolute value of phi.
  • Approximate Significance: the same p as the Pearson chi-square. Do not report it as a second test.

Misreadings that cost marks

  • Reporting the Continuity Correction or Likelihood Ratio row by default. The Pearson Chi-Square row is the standard; any other row needs a reason.
  • Skipping footnote a. It is the assumption check. Too many small expected counts means Fisher's exact test.
  • Reporting the Linear-by-Linear Association for nominal variables. It assumes ordered categories.
  • Leaving out N. APA puts it inside the parentheses: χ²(1, N = 180).
  • Comparing the wrong percentages. Compare row percentages across rows when the row variable is the predictor. Column percentages answer the reverse question.
  • Writing p = .000. Write p < .001.
  • No effect size. A significant χ² with N = 180 can be a small effect, as here. Report phi or Cramér's V (see the Cramér's V guide).

The APA 7 format template

A chi-square test of independence showed a significant association between [variable 1] and [variable 2], χ²(df, N = XXX) = X.XX, p = .XXX, φ = .XX. [Describe the direction with percentages.]

Building the table for this? Eight APA 7 tables in Word, formatted and ready to fill, are in the Rescue Vault, $27 →

The write-up for this example

A chi-square test of independence showed a significant association between receiving a text reminder and attending the appointment, χ²(1, N = 180) = 4.63, p = .031, φ = .16. Patients who received a reminder attended more often (84.4%, 76 of 90) than patients who did not (71.1%, 64 of 90).

If you were asked to use the continuity-corrected statistic, the sentence becomes χ²(1, N = 180) = 3.89, p = .049, and the method section should say that Yates's correction was applied.

Let KyroStat do the write-up for you

The row to report, the expected-count check and the effect size are three places to slip. KyroStat runs the chi-square test on your spreadsheet, checks the expected counts and switches to Fisher's exact test when they are too small, and writes the APA 7 sentence and crosstab table with the code behind every number.

Also useful for the write-up (affiliate links): Proofreading for your thesis or paper (20% off with code PAP20): Paperpal

Frequently asked questions

Which row of the Chi-Square Tests table do I report? The Pearson Chi-Square row, unless footnote a shows more than 20% of cells with expected counts below 5; then report Fisher's Exact Test (for 2 × 2 tables) or combine categories.

Should I report the Continuity Correction? Only if your field, journal or supervisor requires Yates's correction. It is conservative, and many statisticians advise against it. Whichever you report, name it.

What does "0 cells (0.0%) have expected count less than 5" mean? That the test's assumption about expected counts is met. If the percentage is above 20%, the Pearson chi-square p may be inaccurate.

Phi or Cramér's V? Phi for a 2 × 2 table, Cramér's V for anything larger. In a 2 × 2 table they are the same size.

Where are the degrees of freedom? In the df column of the Chi-Square Tests table: (rows − 1) × (columns − 1).

Which related guides might I need? Often these: chi-square goodness of fit, odds ratios and McNemar's test for paired yes/no data.

Ready to turn your spreadsheet into results?

Create an account and run your first analysis in minutes. No install, no statistics course required.