* Author: Dr. Jörg Michael Müller, Uni Tübingen, 07071-2978353; * Adress: Friedrichstrasse 21, 72072 Tübingen, Germany * Email: JMMueller@uni-tuebingen.de * 1. Website: http://www.JoergMMueller.de/default.htm * 2. Website: http://www.psychological-tests.de * * Content: SAS-Macro to read Parscale output file; * Additional information about the background of the macros could be retrieved from the following papers: * * Reference: PLEASE CITE IF YOU USE THE PROGRAM: * Müller, J. M. (2005). SAS MACROS TO COMPUTE THE PROBABILITY OF DISTINCT TEST RESULTS. Applied Psychological Measurement; * Müller, J. M. (2005). The Probability of Obtaining Two Statistically Different Test Scores as a Basic Test Characteristic. Educational and Psychological Measurement. * * This SAS code needs the Parscale output *.ph3; * %ReadParPP(filepath); * Read the Parscale output *.ph3; %ReadParPP(YOURPATH\Par_test.ph3) %macro ReadParPP(filepath); data file1; infile "&filepath"; input @'1 1' @56 perspara SEM /; run; data file2; set file1; if SEM>100 then SEM=.; * The next statement is necessary because Parscale is coding missing data with 999; if Perspara>100 then delete; proc means noprint; var SEM; output out=out max=SEMmax; run; data zwisch; set out; SEMmax=10000*SEMMAX; call symput('SEMmax',SEMmax); run; data file (drop=SEMmax); set file2; * The next statement imputate an approaximation for the standard error of extreme values, because Parscale does not provide an estimation of SEM; SEMmax=0.00017* &SEMmax; if SEM=. then SEM=SEMmax; run; %mend ReadParPP;