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 . dnl AT_BANNER([RELIABILITY]) AT_SETUP([RELIABILITY]) AT_DATA([reliability.sps], [dnl data list notable list /var1 * var2 * var6 * var7 * var8 * var9 * var11 * var12 * var15 * var16 * var17 * var19 * . begin data. 6 7 7 5 7 7 7 7 7 7 6 6 6 7 7 6 7 6 7 5 6 5 7 7 6 6 7 6 5 3 6 4 5 6 4 5 4 6 5 6 6 5 4 3 5 6 5 6 5 6 5 5 6 5 4 4 6 6 5 5 6 6 7 6 6 5 6 5 6 6 5 6 5 6 6 5 6 5 5 4 6 5 5 5 5 7 7 7 7 7 6 5 7 7 7 7 6 6 6 5 5 7 6 5 6 6 5 6 . . . . . . . . . . . . 6 6 5 5 5 6 6 4 6 5 5 5 7 7 7 6 7 6 7 6 6 6 7 6 4 7 6 6 6 5 5 4 4 5 5 6 5 6 3 5 4 1 4 6 2 3 3 2 3 6 6 5 6 2 4 2 2 4 4 5 6 6 7 5 6 5 7 6 5 6 6 5 6 5 6 6 5 6 6 6 6 4 5 5 5 7 7 . 6 6 6 5 6 6 6 6 5 7 5 5 4 6 7 6 5 4 6 5 7 7 7 6 7 7 7 6 7 7 7 6 3 6 5 6 5 7 7 3 4 7 5 7 6 7 7 6 5 6 5 5 6 6 6 6 5 5 6 5 5 5 5 4 5 5 5 6 6 6 7 4 5 6 6 6 6 5 5 6 6 5 6 6 4 4 5 4 5 6 4 5 5 6 7 6 6 7 7 5 6 6 6 5 5 6 5 7 4 6 6 5 7 7 5 6 . . . . . . . . . . . . 7 6 6 5 6 6 7 6 6 5 5 6 6 6 7 7 7 7 7 6 7 6 6 7 7 5 5 . 5 . 7 3 5 4 5 3 7 6 7 5 4 5 7 5 7 5 5 6 6 5 6 6 6 5 5 5 5 6 5 6 7 7 7 7 7 7 7 7 5 6 7 7 . . . . . . . . . . . . 5 5 6 7 5 6 6 4 6 6 6 5 6 6 5 7 5 6 7 5 6 5 4 6 7 6 7 6 7 5 6 7 7 6 6 6 5 6 5 6 5 6 7 2 5 7 3 7 6 6 5 6 5 6 6 6 6 6 5 6 7 6 7 6 6 6 6 6 6 7 6 7 7 7 6 5 6 6 7 7 7 4 6 5 3 7 7 6 6 7 7 7 6 6 6 4 3 5 3 4 3 3 3 3 3 3 3 5 5 7 7 7 5 7 6 2 6 7 6 7 7 7 7 7 7 7 7 6 7 7 7 6 6 5 7 4 4 4 5 6 5 5 4 5 4 7 7 4 4 3 6 3 5 3 4 5 7 7 7 7 7 7 7 7 7 7 7 5 3 6 5 5 4 5 4 4 5 5 3 5 6 7 6 6 6 7 7 6 6 6 7 6 2 5 4 6 3 2 2 2 2 7 2 2 4 6 6 5 5 5 6 5 5 6 6 5 5 7 4 5 6 6 6 5 6 6 5 6 5 7 7 5 6 5 6 5 5 4 5 4 4 5 6 5 6 4 5 5 5 4 5 5 7 6 6 5 5 6 7 5 6 5 7 6 5 6 6 5 4 5 5 3 4 5 5 5 5 7 6 4 4 5 6 5 6 4 4 6 6 6 6 6 5 7 7 6 5 5 6 6 6 6 7 6 7 6 6 5 6 7 6 5 7 6 7 6 7 6 7 7 5 5 6 6 5 6 6 5 5 5 6 5 6 7 7 5 5 6 6 5 6 5 6 6 6 6 6 6 5 5 5 5 6 4 5 3 4 7 6 5 5 7 7 6 6 6 6 5 6 7 6 7 6 6 7 7 7 5 6 5 5 5 5 4 2 7 5 4 6 5 5 2 5 6 4 6 6 7 7 5 6 6 7 6 6 7 5 7 5 6 7 6 6 3 5 7 6 6 5 6 6 6 6 3 5 5 5 6 6 6 4 5 4 7 7 4 7 4 5 5 5 7 4 4 . . . . . . . . . . . . 6 6 7 6 7 6 7 7 6 7 7 6 . . . . . . . . . . . . 5 6 5 7 6 5 6 6 5 6 4 6 5 5 5 5 4 5 5 5 7 5 5 5 6 6 6 4 5 4 6 6 6 4 5 4 6 5 7 4 6 4 6 5 6 6 6 3 5 7 6 5 5 5 5 5 6 7 6 6 5 5 7 7 5 5 6 6 5 5 5 7 5 6 7 6 7 5 6 4 6 7 6 7 4 5 5 5 6 5 6 5 6 6 5 6 6 5 5 5 6 3 4 5 5 4 5 3 6 6 6 5 5 5 4 3 4 5 5 5 6 7 7 6 2 3 6 6 6 5 7 7 6 7 5 5 6 6 6 5 6 6 6 6 6 7 7 6 7 7 7 5 5 6 6 6 6 6 6 6 7 6 6 7 6 6 6 6 5 6 6 6 3 5 6 6 5 5 4 6 4 6 5 6 6 5 6 5 6 6 5 5 6 4 6 5 4 6 7 4 5 6 5 5 6 7 6 4 6 5 7 6 7 7 6 5 6 7 7 6 7 6 7 7 7 6 6 6 6 6 6 4 5 6 7 7 5 6 4 4 3 3 5 3 3 1 5 6 3 2 3 3 7 7 5 6 6 7 7 6 7 7 7 7 5 6 6 6 7 5 4 5 4 7 6 7 3 6 5 4 3 3 3 5 5 6 3 4 5 7 6 4 6 5 5 6 6 7 5 6 5 7 6 6 6 6 6 5 6 7 7 6 7 7 5 6 7 7 7 7 6 5 7 7 6 7 6 6 5 6 7 7 6 5 6 6 6 7 7 7 7 6 6 7 6 7 7 7 4 6 4 7 3 6 5 5 4 3 5 6 5 5 7 5 4 6 7 5 4 6 6 5 5 5 6 4 6 5 7 6 5 5 5 6 . . . . . . . . . . . . . . . . . . . . . . . . 5 7 7 5 6 6 7 7 6 6 6 7 6 7 7 1 2 1 7 7 5 5 5 2 . . . . . . . . . . . . 3 7 4 6 4 7 4 6 4 7 4 7 5 7 3 5 5 6 7 5 4 7 7 4 4 7 7 5 4 6 7 7 6 5 4 4 6 6 2 2 6 4 6 5 5 1 5 2 5 5 6 4 5 4 6 5 5 6 5 5 . . . . . . . . . . . . 5 7 6 6 6 6 6 6 5 6 6 6 6 6 6 5 6 6 6 6 7 5 6 7 3 6 3 3 5 3 3 5 3 5 7 4 4 4 6 3 3 3 4 3 4 2 3 6 5 7 7 6 5 4 7 5 7 7 3 7 4 5 4 4 4 4 3 3 3 4 3 3 6 7 7 5 6 6 7 5 4 5 5 5 3 5 3 3 1 3 4 3 4 7 6 7 4 5 4 4 4 3 4 5 6 6 4 5 5 6 3 4 5 3 5 3 4 5 6 4 5 5 5 6 6 6 6 4 5 6 6 5 6 7 7 2 2 6 7 7 7 7 5 7 5 7 7 4 6 5 7 5 5 5 6 6 6 6 7 7 5 5 5 7 6 7 7 7 6 5 7 3 6 5 6 5 5 6 5 4 5 7 6 5 6 6 6 5 6 5 5 6 4 5 5 5 6 3 5 3 3 6 5 5 . . . . . . . . . . . . 5 6 6 4 4 4 5 3 5 5 2 6 5 6 7 5 5 6 6 5 5 6 6 6 6 7 7 6 4 7 7 6 7 5 6 7 6 6 5 4 5 2 7 6 6 5 6 6 2 2 2 2 2 2 3 2 3 1 1 2 end data. RELIABILITY /VARIABLES=var2 var8 var15 var17 var6 /SCALE('Everything') var6 var8 var15 var17 /MODEL=ALPHA. RELIABILITY /VARIABLES=var6 var8 var15 var17 /SCALE('Nothing') ALL /MODEL=SPLIT(2) . RELIABILITY /VARIABLES=var2 var6 var8 var15 var17 var19 /SCALE('Totals') var6 var8 var15 var17 /SUMMARY = total /STATISTICS = DESCRIPTIVES COVARIANCES . RELIABILITY /VARIABLES=var6 var8 var15 var17 . ]) AT_CHECK([pspp -o pspp.csv -o pspp.txt reliability.sps], [0], [dnl reliability.sps:174.4-174.40: warning: RELIABILITY: The STATISTICS subcommand is not yet implemented. No statistics will be produced. 174 | /STATISTICS = DESCRIPTIVES COVARIANCES | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]) AT_CHECK([cat pspp.csv], [0], [dnl Scale: Everything Table: Case Processing Summary Cases,N,Percent Valid,131,92.9% Excluded,10,7.1% Total,141,100.0% Table: Reliability Statistics Cronbach's Alpha,N of Items .75,4 Scale: Nothing Table: Case Processing Summary Cases,N,Percent Valid,131,92.9% Excluded,10,7.1% Total,141,100.0% Table: Reliability Statistics Cronbach's Alpha,Part 1,Value,.55 ,,N of Items,2 ,Part 2,Value,.63 ,,N of Items,2 ,Total N of Items,,4 Correlation Between Forms,,,.61 Spearman-Brown Coefficient,Equal Length,,.75 ,Unequal Length,,.75 Guttman Split-Half Coefficient,,,.75 "reliability.sps:174.4-174.40: warning: RELIABILITY: The STATISTICS subcommand is not yet implemented. No statistics will be produced. 174 | /STATISTICS = DESCRIPTIVES COVARIANCES | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" Scale: Totals Table: Case Processing Summary Cases,N,Percent Valid,131,92.9% Excluded,10,7.1% Total,141,100.0% Table: Reliability Statistics Cronbach's Alpha,N of Items .75,4 Table: Item-Total Statistics ,Scale Mean if Item Deleted,Scale Variance if Item Deleted,Corrected Item-Total Correlation,Cronbach's Alpha if Item Deleted var6,15.97,8.43,.51,.71 var8,16.56,7.86,.53,.70 var15,16.47,8.45,.56,.68 var17,16.60,8.00,.57,.67 Scale: ANY Table: Case Processing Summary Cases,N,Percent Valid,131,92.9% Excluded,10,7.1% Total,141,100.0% Table: Reliability Statistics Cronbach's Alpha,N of Items .75,4 ]) AT_CLEANUP dnl This was causing a AT. AT_SETUP([RELIABILITY bad syntax]) AT_DATA([bad-syntax.sps], [dnl data list notable list /x * y *. begin data. 1 10 2 20 3 30 4 50 5 50 end data. * This syntax is incorrect reliability x y. ]) AT_CHECK([pspp -O format=csv bad-syntax.sps], [1], [ignore]) AT_CLEANUP dnl Checks for a crash when bad syntax followed scale specification. AT_SETUP([RELIABILITY bad syntax 2]) AT_DATA([bad-syntax.sps], [dnl new file. data list notable list /f01 f02 f03 f04 f05 f06 f07 f08 f09 f10 *. begin data. end data. * This syntax is incorrect reliability variables=f01 to f10/asdfj. ]) AT_CHECK([pspp -O format=csv bad-syntax.sps], [1], [ignore]) AT_CLEANUP dnl Checks for a crash when the active file was empty. Bug #38660. AT_SETUP([RELIABILITY crash with no data]) AT_DATA([reliability.sps], [dnl new file. data list notable list /f01 f02 f03 f04 f05 f06 f07 f08 f09 f10 *. begin data. end data. reliability variables=f01 to f10. ]) AT_CHECK([pspp -O format=csv reliability.sps], [0], []) AT_CLEANUP dnl This is an example from doc/tutorial.texi dnl So if the results of this have to be changed in any way, dnl make sure to update that file. AT_SETUP([RELIABILITY tutorial example]) AT_DATA([tut-example.sps], [dnl get file='hotel.sav'. compute v3 = 6 - v3. compute v5 = 6 - v5. reliability variables = v1 v3 v4. ]) AT_CHECK([ln -s $top_srcdir/examples/hotel.sav .], [0]) AT_CHECK([pspp -o pspp.csv -o pspp.txt tut-example.sps]) AT_CHECK([cat pspp.csv], [0], [dnl Scale: ANY Table: Case Processing Summary Cases,N,Percent Valid,17,100.0% Excluded,0,.0% Total,17,100.0% Table: Reliability Statistics Cronbach's Alpha,N of Items .81,3 ]) AT_CLEANUP AT_SETUP([RELIABILITY syntax errors]) AT_DATA([reliability.sps], [dnl DATA LIST LIST NOTABLE/x y z. RELIABILITY **. RELIABILITY VARIABLES=**. RELIABILITY VARIABLES=x/ **. RELIABILITY VARIABLES=x y/SCALE **. RELIABILITY VARIABLES=x y/SCALE(**). RELIABILITY VARIABLES=x y/SCALE('a' **). RELIABILITY VARIABLES=x y/SCALE('a')=**. RELIABILITY VARIABLES=x y/MODEL SPLIT(**). RELIABILITY VARIABLES=x y/MODEL SPLIT(1 **). RELIABILITY VARIABLES=x y/MODEL **. RELIABILITY VARIABLES=x y/SUMMARY **. RELIABILITY VARIABLES=x y/MISSING=**. RELIABILITY VARIABLES=x y/STATISTICS=x y zz y/ **. RELIABILITY VARIABLES=x y/MODEL SPLIT(5). ]) AT_CHECK([pspp -O format=csv reliability.sps], [1], [dnl "reliability.sps:2.13-2.14: error: RELIABILITY: Syntax error expecting VARIABLES. 2 | RELIABILITY **. | ^~" "reliability.sps:3.23-3.24: error: RELIABILITY: Syntax error expecting variable name. 3 | RELIABILITY VARIABLES=**. | ^~" "reliability.sps:4.23: warning: RELIABILITY: Reliability on a single variable is not useful. 4 | RELIABILITY VARIABLES=x/ **. | ^" "reliability.sps:4.26-4.27: error: RELIABILITY: Syntax error expecting SCALE, MODEL, SUMMARY, MISSING, or STATISTICS. 4 | RELIABILITY VARIABLES=x/ **. | ^~" "reliability.sps:5.33-5.34: error: RELIABILITY: Syntax error expecting `('. 5 | RELIABILITY VARIABLES=x y/SCALE **. | ^~" "reliability.sps:6.33-6.34: error: RELIABILITY: Syntax error expecting string. 6 | RELIABILITY VARIABLES=x y/SCALE(**). | ^~" "reliability.sps:7.37-7.38: error: RELIABILITY: Syntax error expecting `)'. 7 | RELIABILITY VARIABLES=x y/SCALE('a' **). | ^~" "reliability.sps:8.38-8.39: error: RELIABILITY: Syntax error expecting variable name. 8 | RELIABILITY VARIABLES=x y/SCALE('a')=**. | ^~" "reliability.sps:9.39-9.40: error: RELIABILITY: Syntax error expecting number. 9 | RELIABILITY VARIABLES=x y/MODEL SPLIT(**). | ^~" "reliability.sps:10.41-10.42: error: RELIABILITY: Syntax error expecting `@:}@'. 10 | RELIABILITY VARIABLES=x y/MODEL SPLIT(1 **). | ^~" "reliability.sps:11.33-11.34: error: RELIABILITY: Syntax error expecting ALPHA or SPLIT. 11 | RELIABILITY VARIABLES=x y/MODEL **. | ^~" "reliability.sps:12.35-12.36: error: RELIABILITY: Syntax error expecting TOTAL or ALL. 12 | RELIABILITY VARIABLES=x y/SUMMARY **. | ^~" "reliability.sps:13.35-13.36: error: RELIABILITY: Syntax error expecting INCLUDE or EXCLUDE. 13 | RELIABILITY VARIABLES=x y/MISSING=**. | ^~" "reliability.sps:14.27-14.45: warning: RELIABILITY: The STATISTICS subcommand is not yet implemented. No statistics will be produced. 14 | RELIABILITY VARIABLES=x y/STATISTICS=x y zz y/ **. | ^~~~~~~~~~~~~~~~~~~" "reliability.sps:14.48-14.49: error: RELIABILITY: Syntax error expecting SCALE, MODEL, SUMMARY, MISSING, or STATISTICS. 14 | RELIABILITY VARIABLES=x y/STATISTICS=x y zz y/ **. | ^~" "reliability.sps:15.39: error: RELIABILITY: The split point must be less than the number of variables. 15 | RELIABILITY VARIABLES=x y/MODEL SPLIT(5). | ^" "reliability.sps:15.23-15.25: note: RELIABILITY: There are 2 variables. 15 | RELIABILITY VARIABLES=x y/MODEL SPLIT(5). | ^~~" ]) AT_CLEANUP