dnl * U-prefix for unweighted summaries.
dnl * .LCL and .UCL suffixes.
dnl * .SE suffixes.
+dnl * Why are summary functions for scale variables also available for totals and subtotals?
dnl - CATEGORIES:
dnl * String values
dnl * Date values
AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .])
AT_DATA([ctables.sps],
[[GET 'nhtsa.sav'.
-CTABLES /TABLE qnd1[COUNT, MEAN, STDDEV, MINIMUM, MAXIMUM].
+CTABLES /TABLE qnd1[COUNT, VALIDN, TOTALN, MEAN, STDDEV, MINIMUM, MAXIMUM].
CTABLES /TABLE BY qnd1.
CTABLES /TABLE BY BY qnd1.
]])
AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl
- Custom Tables
-╭──────────────────────────┬─────┬────┬─────────────┬───────┬───────╮
-│ │Count│Mean│Std Deviation│Minimum│Maximum│
-├──────────────────────────┼─────┼────┼─────────────┼───────┼───────┤
-│D1. AGE: What is your age?│ 6930│ 48│ 19│ 16│ 86│
-╰──────────────────────────┴─────┴────┴─────────────┴───────┴───────╯
+ Custom Tables
+╭──────────────────────┬─────┬───────┬───────┬────┬────────────┬───────┬───────╮
+│ │ │ │ │ │ Std │ │ │
+│ │Count│Valid N│Total N│Mean│ Deviation │Minimum│Maximum│
+├──────────────────────┼─────┼───────┼───────┼────┼────────────┼───────┼───────┤
+│D1. AGE: What is your │ 6999│ 6930│ 6999│ 48│ 19│ 16│ 86│
+│age? │ │ │ │ │ │ │ │
+╰──────────────────────┴─────┴───────┴───────┴────┴────────────┴───────┴───────╯
Custom Tables
╭──────────────────────────╮
[[GET 'nhtsa.sav'.
CTABLES /TABLE=qn17
/CATEGORIES VARIABLES=qn17 TOTAL=YES LABEL='Number responding'.
-CTABLES /TABLE=region > qn18 [MEAN, COUNT]
+DESCRIPTIVES qn18/STATISTICS=MEAN.
+CTABLES /TABLE=region > qn18 [MEAN, COUNT, VALIDN, TOTALN]
/CATEGORIES VARIABLES=region TOTAL=YES LABEL='All regions'.
]])
AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl
│ Number responding │ 4221│
╰────────────────────────────────────────────────────────────────────────┴─────╯
+ Descriptive Statistics
+╭────────────────────────────────────────────────────────────────────┬────┬────╮
+│ │ N │Mean│
+├────────────────────────────────────────────────────────────────────┼────┼────┤
+│18. When you drink ANSWERFROM(QN17R1), about how many │4218│4.62│
+│ANSWERFROM(QN17R2) do you usually drink per sitting? │ │ │
+│Valid N (listwise) │6999│ │
+│Missing N (listwise) │2781│ │
+╰────────────────────────────────────────────────────────────────────┴────┴────╯
+
Custom Tables
-╭───────────────────────────────────────────────────────────────────┬────┬─────╮
-│ │Mean│Count│
-├───────────────────────────────────────────────────────────────────┼────┼─────┤
-│Region NE 18. When you drink ANSWERFROM(QN17R1), about how │4.36│ 949│
-│ many ANSWERFROM(QN17R2) do you usually drink per │ │ │
-│ sitting? │ │ │
-│ ╶────────────────────────────────────────────────────────────┼────┼─────┤
-│ MW 18. When you drink ANSWERFROM(QN17R1), about how │4.67│ 1027│
-│ many ANSWERFROM(QN17R2) do you usually drink per │ │ │
-│ sitting? │ │ │
-│ ╶────────────────────────────────────────────────────────────┼────┼─────┤
-│ S 18. When you drink ANSWERFROM(QN17R1), about how │4.71│ 1287│
-│ many ANSWERFROM(QN17R2) do you usually drink per │ │ │
-│ sitting? │ │ │
-│ ╶────────────────────────────────────────────────────────────┼────┼─────┤
-│ W 18. When you drink ANSWERFROM(QN17R1), about how │4.69│ 955│
-│ many ANSWERFROM(QN17R2) do you usually drink per │ │ │
-│ sitting? │ │ │
-│ ╶────────────────────────────────────────────────────────────┼────┼─────┤
-│ All 18. When you drink ANSWERFROM(QN17R1), about how │4.62│ 4218│
-│ regions many ANSWERFROM(QN17R2) do you usually drink per │ │ │
-│ sitting? │ │ │
-╰───────────────────────────────────────────────────────────────────┴────┴─────╯
+╭──────────────────────────────────────────────────────┬────┬─────┬──────┬─────╮
+│ │ │ │ Valid│Total│
+│ │Mean│Count│ N │ N │
+├──────────────────────────────────────────────────────┼────┼─────┼──────┼─────┤
+│Region NE 18. When you drink ANSWERFROM(QN17R1),│4.36│ 1409│ 949│ 1409│
+│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │
+│ you usually drink per sitting? │ │ │ │ │
+│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤
+│ MW 18. When you drink ANSWERFROM(QN17R1),│4.67│ 1654│ 1027│ 1654│
+│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │
+│ you usually drink per sitting? │ │ │ │ │
+│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤
+│ S 18. When you drink ANSWERFROM(QN17R1),│4.71│ 2390│ 1287│ 2390│
+│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │
+│ you usually drink per sitting? │ │ │ │ │
+│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤
+│ W 18. When you drink ANSWERFROM(QN17R1),│4.69│ 1546│ 955│ 1546│
+│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │
+│ you usually drink per sitting? │ │ │ │ │
+│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤
+│ All 18. When you drink ANSWERFROM(QN17R1),│4.62│ 6999│ 4218│ 6999│
+│ regions about how many ANSWERFROM(QN17R2) do │ │ │ │ │
+│ you usually drink per sitting? │ │ │ │ │
+╰──────────────────────────────────────────────────────┴────┴─────┴──────┴─────╯
])
AT_CLEANUP
│ Female│ 943│
╰──────────────────────────────┴────────────╯
])
+AT_CLEANUP
+
+AT_SETUP([CTABLES missing values])
+AT_DATA([ctables.sps],
+[[DATA LIST LIST NOTABLE/x y.
+BEGIN DATA.
+1 1
+1 2
+1 3
+1 4
+1 5
+1 .
+2 1
+2 2
+2 3
+2 4
+2 5
+2 .
+3 1
+3 2
+3 3
+3 4
+3 5
+3 .
+4 1
+4 2
+4 3
+4 4
+4 5
+4 .
+5 1
+5 2
+5 3
+5 4
+5 5
+5 .
+. 1
+. 2
+. 3
+. 4
+. 5
+. .
+END DATA.
+MISSING VALUES x (1, 2) y (2, 3).
+VARIABLE LEVEL ALL (NOMINAL).
+
+*TABLES /TABLE x[COUNT, TOTALS[COUNT, VALIDN, TOTALN]]
+ /CATEGORIES VARIABLES=ALL TOTAL=YES.
+CTABLES /TABLE x[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, TOTALS[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, VALIDN, TOTALN]]
+ /CATEGORIES VARIABLES=ALL TOTAL=YES MISSING=INCLUDE.
+*CTABLES /TABLE x BY y.
+*CTABLES /TABLE x BY y /CATEGORIES VARIABLES=ALL MISSING=INCLUDE.
+*CTABLES /TABLE y BY x /CATEGORIES VARIABLES=ALL MISSING=INCLUDE.
+]])
+AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl
+ Custom Tables
+╭───────┬─────┬────────┬────────────────┬────────────────┬───────┬───────╮
+│ │Count│Column %│Column Valid N %│Column Total N %│Valid N│Total N│
+├───────┼─────┼────────┼────────────────┼────────────────┼───────┼───────┤
+│x 1.00 │ 6│ 20.0%│ .0%│ 16.7%│ │ │
+│ 2.00 │ 6│ 20.0%│ .0%│ 16.7%│ │ │
+│ 3.00 │ 6│ 20.0%│ 33.3%│ 16.7%│ │ │
+│ 4.00 │ 6│ 20.0%│ 33.3%│ 16.7%│ │ │
+│ 5.00 │ 6│ 20.0%│ 33.3%│ 16.7%│ │ │
+│ Total│ 30│ 100.0%│ 100.0%│ 100.0%│ 18│ 36│
+╰───────┴─────┴────────┴────────────────┴────────────────┴───────┴───────╯
+dnl Note that the Total N % doesn't add up to 100 because system-missing
+dnl values are included in the total but not shown as a category and this
+dnl is expected behavior.
+])
AT_CLEANUP
\ No newline at end of file