28 %initTestcase(i_object=regression.sas, i_desc=compare linear regression between Excel and SAS)
30 %
if (&sysver=9.1) %then EXCEL; %
else XLS;
32 proc
import datafile=
"&g_testdata/regression.xls" dbms=%SetXLSType out=work.data replace;
35 data refdata (rename=(yhat=est)) testdata(drop=yhat);
39 proc import datafile="&g_testdata/regression.xls" dbms=%SetXLSType out=refparm replace;
43 %regression(data=testdata, x=x, y=y, out=aus, yhat=est, parms=parameters, report=&g_work/report1.rtf)
46 select intercept into :intercept_sas from parameters;
47 select put (x, best12.) into :slope_sas from parameters;
48 select put (e, best12.) into :slope_xls from refparm;
49 select f into :intercept_xls from refparm;
52 %assertReport(i_actual=&g_work/report1.rtf, i_expected=&g_testdata/regression.xls,
53 i_desc=please compare SAS chart with Excel chart)
55 %assertColumns(i_actual=aus, i_expected=refdata, i_desc=compare estimated values, i_fuzz=1E-10)
57 %assertEquals(i_actual=&intercept_xls, i_expected=&intercept_sas, i_desc=compare intercept parameter)
58 %assertEquals(i_actual=&slope_xls, i_expected=&slope_sas, i_desc=compare slope parameter)
59 %assertPerformance(i_expected=5, i_desc=regression calculation should be done within 5 seconds.)