Move all command implementations into a single 'commands' directory.
[pspp] / tests / language / stats / crosstabs.at
diff --git a/tests/language/stats/crosstabs.at b/tests/language/stats/crosstabs.at
deleted file mode 100644 (file)
index a26379e..0000000
+++ /dev/null
@@ -1,2031 +0,0 @@
-dnl PSPP - a program for statistical analysis.
-dnl Copyright (C) 2017 Free Software Foundation, Inc.
-dnl
-dnl This program is free software: you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation, either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
-dnl
-AT_BANNER([CROSSTABS procedure])
-
-dnl Based on bug #60982.
-AT_SETUP([CROSSTABS residuals])
-AT_DATA([crosstabs.sps],
-  [DATASET CLOSE ALL.
-DATA LIST LIST NOTABLE/ r c n.
-BEGIN DATA
-1 1 26
-1 2 31
-2 1 12
-2 2 32
-3 1 27
-3 2 18
-4 1 8
-4 2 7
-END DATA.
-WEIGHT by n.
-CROSSTABS r by c /STATISTICS=CHISQ
-/CELLS=COUNT EXPECTED RESID SRESID ASRESID.
-])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
-  [Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-r × c,161.00,100.0%,.00,.0%,161.00,100.0%
-
-Table: r × c
-,,,c,,Total
-,,,1.00,2.00,
-r,1.00,Count,26.00,31.00,57.00
-,,Expected,25.84,31.16,.35
-,,Residual,.16,-.16,
-,,Std. Residual,.03,-.03,
-,,Adjusted Residual,.05,-.05,
-,2.00,Count,12.00,32.00,44.00
-,,Expected,19.95,24.05,.27
-,,Residual,-7.95,7.95,
-,,Std. Residual,-1.78,1.62,
-,,Adjusted Residual,-2.82,2.82,
-,3.00,Count,27.00,18.00,45.00
-,,Expected,20.40,24.60,.28
-,,Residual,6.60,-6.60,
-,,Std. Residual,1.46,-1.33,
-,,Adjusted Residual,2.33,-2.33,
-,4.00,Count,8.00,7.00,15.00
-,,Expected,6.80,8.20,.09
-,,Residual,1.20,-1.20,
-,,Std. Residual,.46,-.42,
-,,Adjusted Residual,.65,-.65,
-Total,,Count,73.00,88.00,161.00
-,,Expected,.45,.55,1.00
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed)
-Pearson Chi-Square,10.09,3.00,.018
-Likelihood Ratio,10.35,3.00,.016
-Linear-by-Linear Association,1.96,1.00,.162
-N of Valid Cases,161.00,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS integer mode crash])
-AT_DATA([crosstabs.sps],
-  [DATA LIST LIST /A * B * X * Y * .
-BEGIN DATA.
-2 3 4 5
-END DATA.
-
-CROSSTABS VARIABLES X (1,7) Y (1,7) /TABLES X BY Y.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt crosstabs.sps])
-AT_CHECK([cat pspp.csv], [0],
-  [[Table: Reading free-form data from INLINE.
-Variable,Format
-A,F8.0
-B,F8.0
-X,F8.0
-Y,F8.0
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-X × Y,1,100.0%,0,.0%,1,100.0%
-
-Table: X × Y
-,,,Y,,,,,,,Total
-,,,1.00,2.00,3.00,4.00,5.00,6.00,7.00,
-X,1.00,Count,0,0,0,0,0,0,0,0
-,2.00,Count,0,0,0,0,0,0,0,0
-,3.00,Count,0,0,0,0,0,0,0,0
-,4.00,Count,0,0,0,0,1,0,0,1
-,5.00,Count,0,0,0,0,0,0,0,0
-,6.00,Count,0,0,0,0,0,0,0,0
-,7.00,Count,0,0,0,0,0,0,0,0
-Total,,Count,0,0,0,0,1,0,0,1
-]])
-AT_CLEANUP
-
-# Bug #47600.
-AT_SETUP([CROSSTABS integer mode crash 2])
-AT_DATA([crosstabs.sps], [dnl
-DATA LIST lIST /x y.
-BEGIN DATA.
-4 5
-END DATA.
-
-CROSSTABS
-        VARIABLES x (1,3) y (1,7)
-      /TABLES x BY y.
-])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
-  [[Table: Reading free-form data from INLINE.
-Variable,Format
-x,F8.0
-y,F8.0
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,0,.0%,1,100.0%,1,100.0%
-
-Table: x × y
-,,,y,,,,,,,Total
-,,,1.00,2.00,3.00,4.00,5.00,6.00,7.00,
-x,1.00,Count,,,,,,,,
-,2.00,Count,,,,,,,,
-,3.00,Count,,,,,,,,
-Total,,Count,,,,,,,,
-]])
-AT_CLEANUP
-
-# Bug #22037.
-AT_SETUP([CROSSTABS long string crash])
-AT_DATA([crosstabs.sps],
-  [data list list /x * y (a18).
-
-begin data.
-
-   1. 'zero none'
-
-1 'one unity'
-2 'two duality'
-3 'three lots'
-end data.
-
-CROSSTABS /TABLES = x BY y.
-])
-AT_CHECK([pspp -o - -O format=csv -o pspp.txt crosstabs.sps], [0],
-  [[Table: Reading free-form data from INLINE.
-Variable,Format
-x,F8.0
-y,A18
-
-"crosstabs.sps:4: warning: Missing value(s) for all variables from x onward.  These will be filled with the system-missing value or blanks, as appropriate."
-
-"crosstabs.sps:6: warning: Missing value(s) for all variables from x onward.  These will be filled with the system-missing value or blanks, as appropriate."
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,4,66.7%,2,33.3%,6,100.0%
-
-Table: x × y
-,,,y,,,,Total
-,,,one unity,three lots,two duality,zero none,
-x,1.00,Count,1,0,0,1,2
-,2.00,Count,0,0,1,0,1
-,3.00,Count,0,1,0,0,1
-Total,,Count,1,1,1,1,4
-]])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS crash])
-AT_DATA([crosstabs.sps],
-  [[DATA LIST FIXED
-     / x   1-2
-       y   3
-       z   4.
-
-BEGIN DATA.
-0111
-0222
-0311
-0412
-0521
-0612
-0711
-0811
-0912
-END DATA.
-
-LIST.
-
-
-CROSSTABS TABLES  y by z.
-]])
-AT_CHECK([pspp -o - -O format=csv -o pspp.txt crosstabs.sps], [0],
-  [Table: Reading 1 record from INLINE.
-Variable,Record,Columns,Format
-x,1,1-2,F2.0
-y,1,3-3,F1.0
-z,1,4-4,F1.0
-
-Table: Data List
-x,y,z
-1,1,1
-2,2,2
-3,1,1
-4,1,2
-5,2,1
-6,1,2
-7,1,1
-8,1,1
-9,1,2
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-y × z,9,100.0%,0,.0%,9,100.0%
-
-Table: y × z
-,,,z,,Total
-,,,1,2,
-y,1,Count,4,3,7
-,2,Count,1,1,2
-Total,,Count,5,4,9
-])
-AT_CLEANUP
-
-# Bug #26739, which caused CROSSTABS to crash or to fail to output
-# chi-square results.
-AT_SETUP([CROSSTABS chi-square crash])
-AT_DATA([crosstabs.sps],
-  [[DATA LIST LIST /x * y *.
-BEGIN DATA.
-2 2
-3 1
-4 2
-4 1
-END DATA.
-
-CROSSTABS
-        /TABLES= x BY y
-        /STATISTICS=CHISQ.
-]])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
-  [[Table: Reading free-form data from INLINE.
-Variable,Format
-x,F8.0
-y,F8.0
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,4,100.0%,0,.0%,4,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,2.00,Count,0,1,1
-,3.00,Count,1,0,1
-,4.00,Count,1,1,2
-Total,,Count,2,2,4
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed)
-Pearson Chi-Square,2.00,2,.368
-Likelihood Ratio,2.77,2,.250
-Linear-by-Linear Association,.27,1,.602
-N of Valid Cases,4,,
-]])
-AT_CLEANUP
-
-# Bug #27883.
-AT_SETUP([CROSSTABS crash with SPLIT FILE])
-AT_DATA([crosstabs.sps],
-  [data list notable / v0 to v2 1-6 (A)
-begin data.
-a c e
-a c e
-a c e
-a d e
-a d f
-b d f
-b d f
-b c f
-b d e
-a c f
-end data.
-SORT CASES BY v0.
-SPLIT FILE SEPARATE BY v0.
-
-CROSSTABS
-    /TABLES= v1 BY v2
-    /FORMAT=AVALUE TABLES
-    /STATISTICS=CHISQ
-    /CELLS=COUNT ROW COLUMN TOTAL.
-])
-
-AT_CHECK([pspp -o pspp.csv -o pspp.txt crosstabs.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Split Values
-Variable,Value
-v0,a
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-v1 × v2,6,100.0%,0,.0%,6,100.0%
-
-Table: v1 × v2
-,,,v2,,Total
-,,,e,f,
-v1,c,Count,3,1,4
-,,Row %,75.0%,25.0%,100.0%
-,,Column %,75.0%,50.0%,66.7%
-,,Total %,50.0%,16.7%,66.7%
-,d,Count,1,1,2
-,,Row %,50.0%,50.0%,100.0%
-,,Column %,25.0%,50.0%,33.3%
-,,Total %,16.7%,16.7%,33.3%
-Total,,Count,4,2,6
-,,Row %,66.7%,33.3%,100.0%
-,,Column %,100.0%,100.0%,100.0%
-,,Total %,66.7%,33.3%,100.0%
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed),Exact Sig. (2-tailed),Exact Sig. (1-tailed)
-Pearson Chi-Square,.38,1,.540,,
-Likelihood Ratio,.37,1,.545,,
-Fisher's Exact Test,,,,1.000,.600
-Continuity Correction,.00,1,1.000,,
-N of Valid Cases,6,,,,
-
-Table: Split Values
-Variable,Value
-v0,b
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-v1 × v2,4,100.0%,0,.0%,4,100.0%
-
-Table: v1 × v2
-,,,v2,,Total
-,,,e,f,
-v1,c,Count,0,1,1
-,,Row %,.0%,100.0%,100.0%
-,,Column %,.0%,33.3%,25.0%
-,,Total %,.0%,25.0%,25.0%
-,d,Count,1,2,3
-,,Row %,33.3%,66.7%,100.0%
-,,Column %,100.0%,66.7%,75.0%
-,,Total %,25.0%,50.0%,75.0%
-Total,,Count,1,3,4
-,,Row %,25.0%,75.0%,100.0%
-,,Column %,100.0%,100.0%,100.0%
-,,Total %,25.0%,75.0%,100.0%
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed),Exact Sig. (2-tailed),Exact Sig. (1-tailed)
-Pearson Chi-Square,.44,1,.505,,
-Likelihood Ratio,.68,1,.410,,
-Fisher's Exact Test,,,,1.000,.750
-Continuity Correction,.00,1,1.000,,
-N of Valid Cases,4,,,,
-])
-AT_CLEANUP
-
-# Bug #24752.
-AT_SETUP([3-way CROSSTABS])
-AT_DATA([crosstabs.sps],
-  [[DATA LIST FIXED
-     / x   1-2
-       y   3
-       z   4.
-
-BEGIN DATA.
-0111
-0222
-0311
-0412
-0521
-0612
-0711
-0811
-0912
-END DATA.
-
-LIST.
-
-
-CROSSTABS TABLES  x BY y BY z/STATISTICS=ALL.
-]])
-AT_CHECK([pspp -o - -O format=csv -o pspp.csv -o pspp.txt crosstabs.sps], [0],
-  [Table: Reading 1 record from INLINE.
-Variable,Record,Columns,Format
-x,1,1-2,F2.0
-y,1,3-3,F1.0
-z,1,4-4,F1.0
-
-Table: Data List
-x,y,z
-1,1,1
-2,2,2
-3,1,1
-4,1,2
-5,2,1
-6,1,2
-7,1,1
-8,1,1
-9,1,2
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y × z,9,100.0%,0,.0%,9,100.0%
-
-Table: x × y × z
-,,,,,y,,Total
-,,,,,1,2,
-z,1,x,1,Count,1,0,1
-,,,3,Count,0,0,1
-,,,5,Count,1,0,1
-,,,7,Count,0,0,1
-,,,8,Count,0,1,1
-,,Total,,Count,4,1,5
-,2,x,2,Count,0,0,1
-,,,4,Count,0,1,1
-,,,6,Count,0,0,1
-,,,9,Count,1,0,1
-,,Total,,Count,3,1,4
-
-Table: Chi-Square Tests
-,,,Value,df,Asymptotic Sig. (2-tailed)
-z,1,Pearson Chi-Square,5.00,4,.287
-,,Likelihood Ratio,5.00,4,.287
-,,Linear-by-Linear Association,.01,1,.938
-,,N of Valid Cases,5,,
-,2,Pearson Chi-Square,4.00,3,.261
-,,Likelihood Ratio,4.50,3,.212
-,,Linear-by-Linear Association,1.58,1,.209
-,,N of Valid Cases,4,,
-
-Table: Symmetric Measures
-,,,,Value,Asymp. Std. Error,Approx. T
-z,1,Nominal by Nominal,Phi,1.00,,
-,,,Cramer's V,1.00,,
-,,,Contingency Coefficient,.71,,
-,,Ordinal by Ordinal,Kendall's tau-b,.00,.32,.00
-,,,Kendall's tau-c,.00,.32,.00
-,,,Gamma,.00,.50,.00
-,,,Spearman Correlation,.00,.22,.00
-,,Interval by Interval,Pearson's R,.04,.22,.07
-,,N of Valid Cases,,5,,
-,2,Nominal by Nominal,Phi,1.00,,
-,,,Cramer's V,1.00,,
-,,,Contingency Coefficient,.71,,
-,,Ordinal by Ordinal,Kendall's tau-b,-.71,.20,-1.73
-,,,Kendall's tau-c,-.75,.43,-1.73
-,,,Gamma,-1.00,.00,-1.73
-,,,Spearman Correlation,-.77,.17,-1.73
-,,Interval by Interval,Pearson's R,-.73,.18,-1.49
-,,N of Valid Cases,,4,,
-
-Table: Directional Measures
-,,,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-z,1,Nominal by Nominal,Lambda,Symmetric,.40,.28,1.12,.264
-,,,,x Dependent,.25,.22,1.12,.264
-,,,,y Dependent,1.00,.00,1.12,.264
-,,,Goodman and Kruskal tau,x Dependent,.25,,,
-,,,,y Dependent,1.00,,,
-,,,Uncertainty Coefficient,Symmetric,.47,.18,,
-,,,,x Dependent,.31,.15,2.02,
-,,,,y Dependent,1.00,.00,2.02,
-,,Ordinal by Ordinal,Somers' d,Symmetric,.00,,.00,1.000
-,,,,x Dependent,.00,.50,.00,1.000
-,,,,y Dependent,.00,.20,.00,1.000
-,,Nominal by Interval,Eta,x Dependent,.04,,,
-,,,,y Dependent,1.00,,,
-,2,Nominal by Nominal,Lambda,Symmetric,.50,.25,2.00,.046
-,,,,x Dependent,.33,.27,1.15,.248
-,,,,y Dependent,1.00,.00,1.15,.248
-,,,Goodman and Kruskal tau,x Dependent,.33,,,
-,,,,y Dependent,1.00,,,
-,,,Uncertainty Coefficient,Symmetric,.58,.17,,
-,,,,x Dependent,.41,.17,2.36,
-,,,,y Dependent,1.00,.00,2.36,
-,,Ordinal by Ordinal,Somers' d,Symmetric,-.67,,-1.73,.083
-,,,,x Dependent,-1.00,.00,-1.73,.083
-,,,,y Dependent,-.50,.29,-1.73,.083
-,,Nominal by Interval,Eta,x Dependent,.73,,,
-,,,,y Dependent,1.00,,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS rounding weights with COUNT])
-AT_DATA([crosstabs.sps],
-  [[DATA LIST NOTABLE LIST /x y w.
-BEGIN DATA.
-1 1 1.4
-1 1 1.4
-1 2 1.6
-1 2 1.6
-2 1 1
-2 2 2
-END DATA.
-WEIGHT BY w.
-
-* These should have the same effect (no rounding).
-CROSSTABS /TABLES x BY y.
-CROSSTABS /TABLES x BY y /COUNT ASIS.
-
-* Round input weights.
-CROSSTABS /TABLES x BY y /COUNT CASE ROUND.
-CROSSTABS /TABLES x BY y /COUNT CASE TRUNCATE.
-
-* Round cell weights.
-CROSSTABS /TABLES x BY y /COUNT.
-CROSSTABS /TABLES x BY y /COUNT TRUNCATE.
-]])
-
-AT_CHECK([pspp -o pspp.csv -o pspp.txt crosstabs.sps])
-AT_CHECK([cat pspp.csv], [0],
-  [Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,9.00,100.0%,.00,.0%,9.00,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,1.00,Count,2.80,3.20,6.00
-,2.00,Count,1.00,2.00,3.00
-Total,,Count,3.80,5.20,9.00
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,9.00,100.0%,.00,.0%,9.00,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,1.00,Count,2.80,3.20,6.00
-,2.00,Count,1.00,2.00,3.00
-Total,,Count,3.80,5.20,9.00
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,9.00,100.0%,.00,.0%,9.00,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,1.00,Count,2.00,4.00,6.00
-,2.00,Count,1.00,2.00,3.00
-Total,,Count,3.00,6.00,9.00
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,7.00,100.0%,.00,.0%,7.00,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,1.00,Count,2.00,2.00,4.00
-,2.00,Count,1.00,2.00,3.00
-Total,,Count,3.00,4.00,7.00
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,9.00,100.0%,.00,.0%,9.00,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,1.00,Count,3.00,3.00,6.00
-,2.00,Count,1.00,2.00,3.00
-Total,,Count,4.00,5.00,9.00
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,8.00,100.0%,.00,.0%,8.00,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,1.00,2.00,
-x,1.00,Count,2.00,3.00,5.00
-,2.00,Count,1.00,2.00,3.00
-Total,,Count,3.00,5.00,8.00
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS descending sort order])
-AT_DATA([crosstabs-descending.sps],
-  [[DATA LIST NOTABLE LIST /x * y *.
-BEGIN DATA.
-2 2
-2 2
-3 1
-4 1
-3 2
-3 2
-END DATA.
-
-CROSSTABS
-        /TABLES= x BY y
-       /FORMAT = DVALUE.
-]])
-
-AT_CHECK([pspp -o pspp.csv -o pspp.txt crosstabs-descending.sps])
-AT_CHECK([cat pspp.csv], [0],
-  [Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,6,100.0%,0,.0%,6,100.0%
-
-Table: x × y
-,,,y,,Total
-,,,2.00,1.00,
-x,4.00,Count,0,1,1
-,3.00,Count,2,1,3
-,2.00,Count,2,0,2
-Total,,Count,4,2,6
-])
-AT_CLEANUP
-
-# Bug #31260.
-AT_SETUP([CROSSTABS crash when all cases missing])
-AT_DATA([crosstabs.sps], [dnl
-DATA LIST LIST NOTABLE /X1 X2.
-BEGIN DATA.
-1 1
-END DATA.
-
-MISSING VALUES x2 (1).
-
-CROSSTABS /TABLES= X1 by X2.
-])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-X1 × X2,0,.0%,1,100.0%,1,100.0%
-
-"crosstabs.sps:8.20-8.27: warning: CROSSTABS: Crosstabulation X1 × X2 contained no non-missing cases.
-    8 | CROSSTABS /TABLES= X1 by X2.
-      |                    ^~~~~~~~"
-])
-AT_CLEANUP
-
-
-
-dnl This example comes from http://www.ats.ucla.edu/stat/spss/whatstat/whatstat.htm#chisq
-AT_SETUP([CROSSTABS Fisher Exact Test])
-
-AT_DATA([fisher-exact.sps], [dnl
-SET FORMAT F12.3.
-SET DECIMAL DOT.
-
-DATA LIST notable LIST  /schtyp (F9.2) female (F9.2) ses (F9.2) .
-begin data.
-      1.00       .00      1.00
-      1.00      1.00      2.00
-      1.00       .00      3.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      3.00
-      1.00       .00      1.00
-      1.00       .00      1.00
-      1.00       .00      3.00
-      2.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      2.00       .00      2.00
-      2.00       .00      3.00
-      1.00       .00      1.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      2.00       .00      3.00
-      1.00       .00      2.00
-      2.00       .00      3.00
-      1.00       .00      3.00
-      2.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      1.00
-      1.00       .00      2.00
-      2.00       .00      2.00
-      2.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      1.00
-      1.00       .00      3.00
-      1.00       .00      1.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      2.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      2.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      1.00
-      1.00       .00      2.00
-      2.00       .00      2.00
-      1.00       .00      2.00
-      2.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      1.00
-      1.00       .00      2.00
-      2.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      1.00
-      1.00       .00      1.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      2.00
-      1.00       .00      1.00
-      1.00       .00      3.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      3.00
-      1.00       .00      1.00
-      2.00       .00      2.00
-      1.00       .00      1.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      3.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      3.00
-      1.00       .00      2.00
-      1.00       .00      1.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      2.00      1.00      3.00
-      1.00      1.00      3.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      2.00      1.00      1.00
-      2.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      2.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      2.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      3.00
-      2.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      2.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      2.00      1.00      3.00
-      1.00      1.00      2.00
-      2.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      1.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      2.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      1.00
-      2.00      1.00      2.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      2.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      2.00
-      1.00      1.00      2.00
-      2.00      1.00      3.00
-      1.00      1.00      1.00
-      1.00      1.00      1.00
-      2.00      1.00      3.00
-      2.00      1.00      2.00
-      1.00      1.00      3.00
-      2.00      1.00      2.00
-      2.00      1.00      2.00
-      1.00      1.00      2.00
-      2.00      1.00      2.00
-      1.00      1.00      2.00
-      1.00      1.00      3.00
-end data.
-
-VARIABLE LABEL schtyp 'type of school'.
-ADD VALUE LABELS female 0 male 1 female.
-ADD VALUE LABELS ses 1 low 2 middle 3 high.
-ADD VALUE LABELS schtyp 1 public 2 private.
-
-crosstabs /tables = schtyp by female /statistic = chisq.
-crosstabs /tables = female by ses  /statistic = chisq.
-])
-
-AT_CHECK([pspp -o pspp.csv -o pspp.txt fisher-exact.sps])
-AT_CHECK([cat pspp.csv], [0], [Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-type of school × female,200,100.0%,0,.0%,200,100.0%
-
-Table: type of school × female
-,,,female,,Total
-,,,male,female,
-type of school,public,Count,77,91,168
-,private,Count,14,18,32
-Total,,Count,91,109,200
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed),Exact Sig. (2-tailed),Exact Sig. (1-tailed)
-Pearson Chi-Square,.047,1,.828,,
-Likelihood Ratio,.047,1,.828,,
-Fisher's Exact Test,,,,.849,.492
-Continuity Correction,.001,1,.981,,
-Linear-by-Linear Association,.047,1,.829,,
-N of Valid Cases,200,,,,
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-female × ses,200,100.0%,0,.0%,200,100.0%
-
-Table: female × ses
-,,,ses,,,Total
-,,,low,middle,high,
-female,male,Count,15,47,29,91
-,female,Count,32,48,29,109
-Total,,Count,47,95,58,200
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed)
-Pearson Chi-Square,4.577,2,.101
-Likelihood Ratio,4.679,2,.096
-Linear-by-Linear Association,3.110,1,.078
-N of Valid Cases,200,,
-])
-
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Pearson's R - 1])
-AT_DATA([pearson.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://www.statisticslectures.com/topics/pearsonr/.
-DATA LIST FREE/x y.
-BEGIN DATA.
-1 4
-3 6
-5 10
-5 12
-6 13
-END DATA.
-CROSSTABS x BY y/STATISTICS=CORR.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt pearson.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,5,100.0%,0,.0%,5,100.0%
-
-Table: x × y
-,,,y,,,,,Total
-,,,4.000,6.000,10.000,12.000,13.000,
-x,1.000,Count,1,0,0,0,0,1
-,3.000,Count,0,1,0,0,0,1
-,5.000,Count,0,0,1,1,0,2
-,6.000,Count,0,0,0,0,1,1
-Total,,Count,1,1,1,1,1,5
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Spearman Correlation,.975,.022,7.550
-Interval by Interval,Pearson's R,.968,.017,6.708
-N of Valid Cases,,5,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Pearson's R - 2])
-AT_DATA([pearson2.sps], [dnl
-SET FORMAT F8.3.
-
-* Checked with http://www.socscistatistics.com/tests/pearson/Default2.aspx.
-DATA LIST FREE/x y.
-BEGIN DATA.
-1 1.5
-2 1.5
-3 4
-4 6
-5 5
-6 7
-7 6.5
-8 9
-9 10.5
-10 11
-END DATA.
-CROSSTABS x BY y/STATISTICS=CORR.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt pearson2.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,10,100.0%,0,.0%,10,100.0%
-
-Table: x × y
-,,,y,,,,,,,,,Total
-,,,1.500,4.000,5.000,6.000,6.500,7.000,9.000,10.500,11.000,
-x,1.000,Count,1,0,0,0,0,0,0,0,0,1
-,2.000,Count,1,0,0,0,0,0,0,0,0,1
-,3.000,Count,0,1,0,0,0,0,0,0,0,1
-,4.000,Count,0,0,0,1,0,0,0,0,0,1
-,5.000,Count,0,0,1,0,0,0,0,0,0,1
-,6.000,Count,0,0,0,0,0,1,0,0,0,1
-,7.000,Count,0,0,0,0,1,0,0,0,0,1
-,8.000,Count,0,0,0,0,0,0,1,0,0,1
-,9.000,Count,0,0,0,0,0,0,0,1,0,1
-,10.000,Count,0,0,0,0,0,0,0,0,1,1
-Total,,Count,2,1,1,1,1,1,1,1,1,10
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Spearman Correlation,.973,.015,11.844
-Interval by Interval,Pearson's R,.971,.017,11.580
-N of Valid Cases,,10,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Pearson's R - 3])
-AT_DATA([pearson3.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://learntech.uwe.ac.uk/da/Default.aspx?pageid=1442.
-DATA LIST FREE/x y.
-BEGIN DATA.
-56 87
-56 91
-65 85
-65 91
-50 75
-25 28
-87 122
-44 66
-35 58
-END DATA.
-CROSSTABS x BY y/STATISTICS=CORR.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt pearson3.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,9,100.0%,0,.0%,9,100.0%
-
-Table: x × y
-,,,y,,,,,,,,Total
-,,,28.000,58.000,66.000,75.000,85.000,87.000,91.000,122.000,
-x,25.000,Count,1,0,0,0,0,0,0,0,1
-,35.000,Count,0,1,0,0,0,0,0,0,1
-,44.000,Count,0,0,1,0,0,0,0,0,1
-,50.000,Count,0,0,0,1,0,0,0,0,1
-,56.000,Count,0,0,0,0,0,1,1,0,2
-,65.000,Count,0,0,0,0,1,0,1,0,2
-,87.000,Count,0,0,0,0,0,0,0,1,1
-Total,,Count,1,1,1,1,1,1,2,1,9
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Spearman Correlation,.911,.068,5.860
-Interval by Interval,Pearson's R,.966,.017,9.915
-N of Valid Cases,,9,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Pearson's R - 4])
-AT_DATA([pearson4.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://psychology.ucdavis.edu/faculty_sites/sommerb/sommerdemo/correlation/hand/pearson_hand.htm.
-DATA LIST FREE/x y.
-BEGIN DATA.
-5 5
-10 20
-6 4
-8 15
-4 11
-4 9
-3 12
-10 18
-2 7
-6 2
-7 14
-9 17
-END DATA.
-CROSSTABS x BY y/STATISTICS=CORR.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt pearson4.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,12,100.0%,0,.0%,12,100.0%
-
-Table: x × y
-,,,y,,,,,,,,,,,,Total
-,,,2.000,4.000,5.000,7.000,9.000,11.000,12.000,14.000,15.000,17.000,18.000,20.000,
-x,2.000,Count,0,0,0,1,0,0,0,0,0,0,0,0,1
-,3.000,Count,0,0,0,0,0,0,1,0,0,0,0,0,1
-,4.000,Count,0,0,0,0,1,1,0,0,0,0,0,0,2
-,5.000,Count,0,0,1,0,0,0,0,0,0,0,0,0,1
-,6.000,Count,1,1,0,0,0,0,0,0,0,0,0,0,2
-,7.000,Count,0,0,0,0,0,0,0,1,0,0,0,0,1
-,8.000,Count,0,0,0,0,0,0,0,0,1,0,0,0,1
-,9.000,Count,0,0,0,0,0,0,0,0,0,1,0,0,1
-,10.000,Count,0,0,0,0,0,0,0,0,0,0,1,1,2
-Total,,Count,1,1,1,1,1,1,1,1,1,1,1,1,12
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Spearman Correlation,.657,.140,2.758
-Interval by Interval,Pearson's R,.667,.132,2.830
-N of Valid Cases,,12,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Pearson's R - 5])
-AT_DATA([pearson5.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://www.statisticslectures.com/topics/pearsonr/.
-DATA LIST FREE/x y.
-BEGIN DATA.
-18 15000
-25 29000
-57 68000
-45 52000
-26 32000
-64 80000
-37 41000
-40 45000
-24 26000
-33 33000
-END DATA.
-CROSSTABS x BY y/STATISTICS=CORR.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt pearson5.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,10,100.0%,0,.0%,10,100.0%
-
-Table: x × y
-,,,y,,,,,,,,,,Total
-,,,15000.00,26000.00,29000.00,32000.00,33000.00,41000.00,45000.00,52000.00,68000.00,80000.00,
-x,18.000,Count,1,0,0,0,0,0,0,0,0,0,1
-,24.000,Count,0,1,0,0,0,0,0,0,0,0,1
-,25.000,Count,0,0,1,0,0,0,0,0,0,0,1
-,26.000,Count,0,0,0,1,0,0,0,0,0,0,1
-,33.000,Count,0,0,0,0,1,0,0,0,0,0,1
-,37.000,Count,0,0,0,0,0,1,0,0,0,0,1
-,40.000,Count,0,0,0,0,0,0,1,0,0,0,1
-,45.000,Count,0,0,0,0,0,0,0,1,0,0,1
-,57.000,Count,0,0,0,0,0,0,0,0,1,0,1
-,64.000,Count,0,0,0,0,0,0,0,0,0,1,1
-Total,,Count,1,1,1,1,1,1,1,1,1,1,10
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Spearman Correlation,1.000,.000,+Infinit
-Interval by Interval,Pearson's R,.992,.004,22.638
-N of Valid Cases,,10,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Goodman and Kruskal's lambda - 1])
-AT_DATA([lambda.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://www.csupomona.edu/~jlkorey/POWERMUTT/Topics/contingency_tables.html.
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 424
-1 2 213
-1 3 59
-3 1 55
-3 2 188
-3 3 357
-END DATA.
-
-CROSSTABS x BY y/CELLS=NONE/STATISTICS=LAMBDA.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt lambda.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,1296.000,100.0%,.000,.0%,1296.000,100.0%
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.423,.021,16.875,.000
-,,x Dependent,.497,.024,15.986,.000
-,,y Dependent,.370,.020,16.339,.000
-,Goodman and Kruskal tau,x Dependent,.382,,,
-,,y Dependent,.198,,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Goodman and Kruskal's lambda - 2])
-AT_DATA([lambda.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://vassarstats.net.
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 19
-1 2 26
-1 3 8
-2 1 21
-2 2 13
-2 3 5
-3 1 6
-3 2 12
-3 3 27
-END DATA.
-
-CROSSTABS x BY y/CELLS=NONE/STATISTICS=LAMBDA.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt lambda.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,137.000,100.0%,.000,.0%,137.000,100.0%
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.259,.081,2.902,.004
-,,x Dependent,.250,.089,2.479,.013
-,,y Dependent,.267,.085,2.766,.006
-,Goodman and Kruskal tau,x Dependent,.129,,,
-,,y Dependent,.123,,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Goodman and Kruskal's lambda - 3])
-AT_DATA([lambda.sps], [dnl
-SET FORMAT F8.3.
-
-* From Goodman, L.A., Kruskal, W.H. (1954) "Measures of association for
-  cross classifications". Part I. Journal of the American Statistical
-  Association, 49, 732-764.
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 1768
-1 2 807
-1 3 189
-1 4 47
-2 1 946
-2 2 1387
-2 3 746
-2 4 53
-3 1 115
-3 2 438
-3 3 288
-3 4 16
-END DATA.
-CROSSTABS x BY y/CELLS=NONE/STATISTICS=LAMBDA.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt lambda.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,6800.000,100.0%,.000,.0%,6800.000,100.0%
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.208,.010,18.793,.000
-,,x Dependent,.224,.013,16.076,.000
-,,y Dependent,.192,.012,14.438,.000
-,Goodman and Kruskal tau,x Dependent,.089,,,
-,,y Dependent,.081,,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Goodman and Kruskal's lambda - treatment of ties])
-AT_DATA([lambda.sps], [dnl
-SET FORMAT F8.3.
-
-* From Douglas Bonett.
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 225
-1 2 43
-1 3 216
-2 1 3
-2 2 1
-2 3 12
-END DATA.
-
-CROSSTABS x BY y/CELLS=NONE/STATISTICS=LAMBDA.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt lambda.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,500.000,100.0%,.000,.0%,500.000,100.0%
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.031,.013,2.336,.019
-,,x Dependent,.000,.000,NaN,NaN
-,,y Dependent,.033,.014,2.336,.019
-,Goodman and Kruskal tau,x Dependent,.012,,,
-,,y Dependent,.009,,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Somers' D, Tau-B, Tau-C, Gamma - 1])
-AT_DATA([somersd.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://stats.stackexchange.com/questions/72203/problem-with-calculating-asymptotic-standard-error-for-somers-d.
-DATA LIST LIST NOTABLE/x y * w (F10.6).
-WEIGHT BY w.
-BEGIN DATA.
-1 1 0.000025
-1 2 0.0001
-1 3 0.001
-1 4 0.0025
-1 5 0.004
-1 6 0.0075
-1 7 0.0125
-2 1 0.049975
-2 2 0.0999
-2 3 0.199
-2 4 0.2475
-2 5 0.196
-2 6 0.1425
-2 7 0.0375
-END DATA.
-CROSSTABS x BY y/STATISTICS=D/CELLS=NONE.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt somersd.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,1.000000,100.0%,.000000,.0%,1.000000,100.0%
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,-.084,,-.149,.882
-,,x Dependent,-.045,.300,-.149,.882
-,,y Dependent,-.684,2.378,-.149,.882
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Somers' D, Tau-B, Tau-C, Gamma - 2])
-AT_DATA([somersd.sps], [dnl
-SET FORMAT F8.3.
-
-* From http://uregina.ca/~gingrich/gamma.pdf.
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 34
-1 2 24
-1 3 15
-2 1 42
-2 2 74
-2 3 67
-3 1 28
-3 2 111
-3 3 292
-END DATA.
-CROSSTABS x BY y/STATISTICS=BTAU CTAU GAMMA D/CELLS=NONE.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt somersd.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,687.000,100.0%,.000,.0%,687.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,.372,.033,10.669
-,Kendall's tau-c,.310,.029,10.669
-,Gamma,.591,.043,10.669
-N of Valid Cases,,687.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,.371,,10.669,.000
-,,x Dependent,.351,.032,10.669,.000
-,,y Dependent,.394,.035,10.669,.000
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Somers' D, Tau-B, Tau-C, Gamma - 3])
-AT_DATA([ordinal.sps], [dnl
-SET FORMAT F8.3.
-
-* From https://www.iup.edu/WorkArea/DownloadAsset.aspx?id=9829, "Case 1".
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 2 40
-2 3 80
-3 4 30
-END DATA.
-CROSSTABS x BY y/STATISTICS=GAMMA D BTAU/CELLS=NONE.
-
-* Same site, case 2.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 40
-2 3 80
-3 4 30
-END DATA.
-CROSSTABS x BY y/STATISTICS=GAMMA D BTAU/CELLS=NONE.
-
-* Same site, case 3.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 4 40
-2 3 80
-3 2 30
-END DATA.
-CROSSTABS x BY y/STATISTICS=GAMMA D BTAU/CELLS=NONE.
-
-* Same site, case 4.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 20
-1 2 20
-2 3 80
-3 4 30
-END DATA.
-CROSSTABS x BY y/STATISTICS=GAMMA D BTAU/CELLS=NONE.
-
-* Same site, case 5.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 2 40
-2 2 80
-3 2 29
-3 3 1
-END DATA.
-CROSSTABS x BY y/STATISTICS=GAMMA D BTAU/CELLS=NONE.
-
-* Same site, case 6.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 3
-1 2 6
-1 3 28
-1 4 61
-2 1 4
-2 2 5
-2 3 21
-2 4 20
-END DATA.
-CROSSTABS x BY y/STATISTICS=GAMMA D BTAU/CELLS=NONE.
-
-* Same site, case 7.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 38
-1 2 6
-1 3 3
-1 4 51
-2 1 4
-2 2 20
-2 3 21
-2 4 5
-END DATA.
-CROSSTABS x BY y/STATISTICS=LAMBDA D PHI GAMMA/CELLS=NONE.
-
-* Same site, case 8.
-DATA LIST LIST NOTABLE /x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 2
-1 2 3
-1 3 5
-1 4 1
-2 1 2
-2 2 16
-2 3 3
-2 4 6
-3 1 3
-3 2 10
-3 3 35
-3 4 27
-4 1 6
-4 2 15
-4 3 33
-4 4 45
-END DATA.
-CROSSTABS x BY y/STATISTICS=LAMBDA D PHI BTAU/CELLS=NONE.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt ordinal.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,150.000,100.0%,.000,.0%,150.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,1.000,.000,24.841
-,Gamma,1.000,.000,24.841
-N of Valid Cases,,150.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,1.000,,24.841,.000
-,,x Dependent,1.000,.000,24.841,.000
-,,y Dependent,1.000,.000,24.841,.000
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,150.000,100.0%,.000,.0%,150.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,1.000,.000,24.841
-,Gamma,1.000,.000,24.841
-N of Valid Cases,,150.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,1.000,,24.841,.000
-,,x Dependent,1.000,.000,24.841,.000
-,,y Dependent,1.000,.000,24.841,.000
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,150.000,100.0%,.000,.0%,150.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,-1.000,.000,-24.841
-,Gamma,-1.000,.000,-24.841
-N of Valid Cases,,150.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,-1.000,,-24.841,.000
-,,x Dependent,-1.000,.000,-24.841,.000
-,,y Dependent,-1.000,.000,-24.841,.000
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,150.000,100.0%,.000,.0%,150.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,.972,.007,24.841
-,Gamma,1.000,.000,24.841
-N of Valid Cases,,150.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,.971,,24.841,.000
-,,x Dependent,.944,.013,24.841,.000
-,,y Dependent,1.000,.000,24.841,.000
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,150.000,100.0%,.000,.0%,150.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,.119,.059,1.009
-,Gamma,1.000,.000,1.009
-N of Valid Cases,,150.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,.035,,1.009,.313
-,,x Dependent,.805,.032,1.009,.313
-,,y Dependent,.018,.017,1.009,.313
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,148.000,100.0%,.000,.0%,148.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Ordinal by Ordinal,Kendall's tau-b,-.208,.078,-2.641
-,Gamma,-.381,.130,-2.641
-N of Valid Cases,,148.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Ordinal by Ordinal,Somers' d,Symmetric,-.206,,-2.641,.008
-,,x Dependent,-.182,.069,-2.641,.008
-,,y Dependent,-.237,.089,-2.641,.008
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,148.000,100.0%,.000,.0%,148.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Nominal by Nominal,Phi,.731,,
-,Cramer's V,.731,,
-Ordinal by Ordinal,Gamma,-.110,.107,-1.022
-N of Valid Cases,,148.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.338,.059,4.743,.000
-,,x Dependent,.640,.085,4.875,.000
-,,y Dependent,.174,.050,3.248,.001
-,Goodman and Kruskal tau,x Dependent,.534,,,
-,,y Dependent,.167,,,
-Ordinal by Ordinal,Somers' d,Symmetric,-.074,,-1.022,.307
-,,x Dependent,-.060,.059,-1.022,.307
-,,y Dependent,-.096,.094,-1.022,.307
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,212.000,100.0%,.000,.0%,212.000,100.0%
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Nominal by Nominal,Phi,.432,,
-,Cramer's V,.249,,
-Ordinal by Ordinal,Kendall's tau-b,.209,.062,3.338
-N of Valid Cases,,212.000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.102,.067,1.473,.141
-,,x Dependent,.027,.087,.302,.763
-,,y Dependent,.165,.065,2.349,.019
-,Goodman and Kruskal tau,x Dependent,.051,,,
-,,y Dependent,.068,,,
-Ordinal by Ordinal,Somers' d,Symmetric,.209,,3.338,.001
-,,x Dependent,.202,.060,3.338,.001
-,,y Dependent,.217,.064,3.338,.001
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS Cohens Kappa])
-
-dnl Example from Wood J. M.
-dnl "Understanding and Computing Cohen's Kappa: A Tutorial"
-dnl WebPsychEmpiricist. Oct 3 2007
-AT_DATA([kappa.sps], [dnl
-SET FORMAT=F8.3.
-
-data list notable list /p1 * p2 * w *.
-begin data.
-0 0 18
-1 0 1
-0 1 1
-end data.
-
-weight by w.
-
-crosstabs /table = p1 by p2
-       /statistics = kappa
-       .
-])
-
-AT_CHECK([pspp -o pspp.csv -o pspp.txt kappa.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-p1 × p2,20.000,100.0%,.000,.0%,20.000,100.0%
-
-Table: p1 × p2
-,,,p2,,Total
-,,,.000,1.000,
-p1,.000,Count,18.000,1.000,19.000
-,1.000,Count,1.000,.000,1.000
-Total,,Count,19.000,1.000,20.000
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Measure of Agreement,Kappa,-.053,.037,-.235
-N of Valid Cases,,20.000,,
-])
-
-AT_CLEANUP
-
-
-AT_SETUP([CROSSTABS many statistics])
-AT_DATA([crosstabs.sps], [dnl
-SET FORMAT=F8.4.
-
-* From http://www4.stat.ncsu.edu/~dzhang2/st744/table3.9.lst.txt.
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 25
-1 2 25
-1 3 12
-2 2 1
-2 3 3
-END DATA.
-CROSSTABS x BY y/STATISTICS=CHISQ PHI CC LAMBDA UC BTAU CTAU GAMMA D CORR/CELLS=NONE.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt crosstabs.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,66.0000,100.0%,.0000,.0%,66.0000,100.0%
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed)
-Pearson Chi-Square,6.9562,2.0000,.031
-Likelihood Ratio,6.6901,2.0000,.035
-Linear-by-Linear Association,5.8450,1.0000,.016
-N of Valid Cases,66.0000,,
-
-Table: Symmetric Measures
-,,Value,Asymp. Std. Error,Approx. T
-Nominal by Nominal,Phi,.3246,,
-,Cramer's V,.3246,,
-,Contingency Coefficient,.3088,,
-Ordinal by Ordinal,Kendall's tau-b,.2752,.0856,1.9920
-,Kendall's tau-c,.1497,.0751,1.9920
-,Gamma,.8717,.1250,1.9920
-,Spearman Correlation,.2908,.0906,2.4311
-Interval by Interval,Pearson's R,.2999,.0973,2.5147
-N of Valid Cases,,66.0000,,
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.0455,.1629,.2723,.785
-,,x Dependent,.0000,.0000,NaN,NaN
-,,y Dependent,.0500,.1791,.2723,.785
-,Goodman and Kruskal tau,x Dependent,.1054,,,
-,,y Dependent,.0434,,,
-,Uncertainty Coefficient,Symmetric,.0780,.0474,,
-,,x Dependent,.2217,.1062,1.5373,
-,,y Dependent,.0473,.0306,1.5373,
-Ordinal by Ordinal,Somers' d,Symmetric,.1960,,1.9920,.046
-,,x Dependent,.1152,.0572,1.9920,.046
-,,y Dependent,.6573,.1417,1.9920,.046
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS uncertainy coefficient])
-AT_DATA([uc.sps], [dnl
-* From http://groups.chass.utoronto.ca/pol242/5bMeasuringAssociation.htm.
-SET FORMAT=F8.3.
-
-DATA LIST LIST NOTABLE/x y w.
-WEIGHT BY w.
-BEGIN DATA.
-1 1 416
-1 2 121
-2 1 335
-2 2 2
-3 1 112
-3 2 1
-END DATA.
-CROSSTABS x BY y/STATISTICS=LAMBDA UC/CELLS=NONE.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt uc.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-x × y,987.000,100.0%,.000,.0%,987.000,100.0%
-
-Table: Directional Measures
-,,,Value,Asymp. Std. Error,Approx. T,Approx. Sig.
-Nominal by Nominal,Lambda,Symmetric,.000,.000,NaN,NaN
-,,x Dependent,.000,.000,NaN,NaN
-,,y Dependent,.000,.000,NaN,NaN
-,Goodman and Kruskal tau,x Dependent,.076,,,
-,,y Dependent,.108,,,
-,Uncertainty Coefficient,Symmetric,.105,.012,,
-,,x Dependent,.073,.009,7.890,
-,,y Dependent,.184,.019,7.890,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS estimated risk])
-dnl Example data and expected output from
-dnl http://www.psychology.nottingham.ac.uk/staff/ddc/c8cxpa/further/Project_resources/SPSSCrosstabW.pdf
-AT_DATA([risk.sps], [dnl
-DATA LIST LIST /factor disease count (F8.0).
-WEIGHT BY count.
-VALUE LABELS /factor 0 'Placebo' 1 'Aspirin'
-             /disease 1 'No' 0 'Yes'.
-BEGIN DATA.
-0 1 80
-0 0 20
-1 1 135
-1 0 15
-END DATA.
-CROSSTABS factor BY disease/STATISTICS=RISK CHISQ.
-])
-AT_CHECK([pspp -o pspp.csv -o pspp.txt risk.sps])
-AT_CHECK([cat pspp.csv], [0], [dnl
-Table: Reading free-form data from INLINE.
-Variable,Format
-factor,F8.0
-disease,F8.0
-count,F8.0
-
-Table: Summary
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-factor × disease,250,100.0%,0,.0%,250,100.0%
-
-Table: factor × disease
-,,,disease,,Total
-,,,Yes,No,
-factor,Placebo,Count,20,80,100
-,Aspirin,Count,15,135,150
-Total,,Count,35,215,250
-
-Table: Chi-Square Tests
-,Value,df,Asymptotic Sig. (2-tailed),Exact Sig. (2-tailed),Exact Sig. (1-tailed)
-Pearson Chi-Square,4.98,1,.026,,
-Likelihood Ratio,4.88,1,.027,,
-Fisher's Exact Test,,,,.039,.021
-Continuity Correction,4.19,1,.041,,
-Linear-by-Linear Association,4.96,1,.026,,
-N of Valid Cases,250,,,,
-
-Table: Risk Estimate
-,Value,95% Confidence Interval,
-,,Lower,Upper
-Odds Ratio for factor (Placebo / Aspirin),2.25,2.25,2.25
-For cohort disease = Yes,1.08,1.08,1.08
-For cohort disease = No,.99,.99,.99
-N of Valid Cases,250.00,,
-])
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS barchart])
-AT_DATA([bc.sps], [dnl
-SET FORMAT=F8.3.
-
-DATA LIST LIST NOTABLE /x (a20) y (f8) z (f8) w (f8) .
-BEGIN DATA.
-This  1  0 416
-That  2  0 121
-Other 2  0 335
-This  2  0 231
-That  3  0 112
-Other 4  0 130
-This  1  1 160
-That  2  1 211
-Other 2  1 352
-This  2  1 212
-That  3  1 121
-Other 4  1 101
-END DATA.
-
-WEIGHT BY w.
-
-CROSSTABS
-         /table x BY y BY z
-         /table x BY y
-         /barchart.
-])
-
-AT_CHECK([pspp -O format=txt -o xxx bc.sps], [0], [ignore])
-
-AT_CHECK([test -e xxx-1.png], [0], [ignore])
-AT_CHECK([test -e xxx-2.png], [0], [ignore])
-
-AT_CHECK([diff xxx-1.png xxx-2.png], [0], [ignore])
-
-AT_CLEANUP
-
-AT_SETUP([CROSSTABS syntax errors])
-AT_DATA([crosstabs.sps], [dnl
-DATA LIST LIST NOTABLE/x y v1 to v100.
-CROSSTABS TABLES=x BY y/VARIABLES **.
-CROSSTABS VARIABLES=**.
-CROSSTABS VARIABLES=x **.
-CROSSTABS VARIABLES=x (**).
-CROSSTABS VARIABLES=x (1,**).
-CROSSTABS VARIABLES=x (1,5**).
-CROSSTABS MISSING=**.
-CROSSTABS COUNT=**.
-CROSSTABS FORMAT=**.
-CROSSTABS CELLS=**.
-CROSSTABS STATISTICS=**.
-CROSSTABS **.
-CROSSTABS
-       v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-    BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-    BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-    BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-    BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-    BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100.
-CROSSTABS BARCHART.
-CROSSTABS x BY y/MISSING=REPORT.
-])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [1], [dnl
-"crosstabs.sps:2.25-2.33: error: CROSSTABS: VARIABLES must be specified before TABLES.
-    2 | CROSSTABS TABLES=x BY y/VARIABLES **.
-      |                         ^~~~~~~~~"
-
-"crosstabs.sps:3.21-3.22: error: CROSSTABS: Syntax error expecting variable name.
-    3 | CROSSTABS VARIABLES=**.
-      |                     ^~"
-
-"crosstabs.sps:4.23-4.24: error: CROSSTABS: Syntax error expecting `('.
-    4 | CROSSTABS VARIABLES=x **.
-      |                       ^~"
-
-"crosstabs.sps:5.24-5.25: error: CROSSTABS: Syntax error expecting integer.
-    5 | CROSSTABS VARIABLES=x (**).
-      |                        ^~"
-
-"crosstabs.sps:6.26-6.27: error: CROSSTABS: Syntax error expecting positive integer.
-    6 | CROSSTABS VARIABLES=x (1,**).
-      |                          ^~"
-
-"crosstabs.sps:7.27-7.28: error: CROSSTABS: Syntax error expecting `)'.
-    7 | CROSSTABS VARIABLES=x (1,5**).
-      |                           ^~"
-
-"crosstabs.sps:8.19-8.20: error: CROSSTABS: Syntax error expecting TABLE, INCLUDE, or REPORT.
-    8 | CROSSTABS MISSING=**.
-      |                   ^~"
-
-"crosstabs.sps:9.17-9.18: error: CROSSTABS: Syntax error expecting ASIS, CASE, CELL, ROUND, or TRUNCATE.
-    9 | CROSSTABS COUNT=**.
-      |                 ^~"
-
-"crosstabs.sps:10.18-10.19: error: CROSSTABS: Syntax error expecting AVALUE, DVALUE, TABLES, or NOTABLES.
-   10 | CROSSTABS FORMAT=**.
-      |                  ^~"
-
-"crosstabs.sps:11.17-11.18: error: CROSSTABS: Syntax error expecting COUNT, EXPECTED, ROW, COLUMN, TOTAL, RESIDUAL, SRESIDUAL, or ASRESIDUAL.
-   11 | CROSSTABS CELLS=**.
-      |                 ^~"
-
-"crosstabs.sps:12.22-12.23: error: CROSSTABS: Syntax error expecting one of the following: CHISQ, PHI, CC, LAMBDA, UC, BTAU, CTAU, RISK, GAMMA, D, KAPPA, ETA, CORR.
-   12 | CROSSTABS STATISTICS=**.
-      |                      ^~"
-
-"crosstabs.sps:13.11-13.12: error: CROSSTABS: Syntax error expecting subcommand name or variable name.
-   13 | CROSSTABS **.
-      |           ^~"
-
-"crosstabs.sps:15.8-16.59: error: CROSSTABS: Too many cross-tabulation variables or dimensions.
-   15 |        v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   16 |     BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100 BY v1 to v100
-      | -----------------------------------------------------------"
-
-crosstabs.sps:21: error: CROSSTABS: At least one crosstabulation must be requested (using the TABLES subcommand).
-
-"crosstabs.sps:22.26-22.31: warning: CROSSTABS: Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE.
-   22 | CROSSTABS x BY y/MISSING=REPORT.
-      |                          ^~~~~~"
-
-error: CROSSTABS: At end of input: Syntax error expecting `BEGIN DATA'.
-])
-AT_CLEANUP
\ No newline at end of file