Опция OUTSTATS=
выведет основную статистику для переменных. Статистика N, MEAN, STD, MIN, MAX, STDERR, T, PROBT, NDIF, DIFMEANS, and R,RSQ
Если вам нужно вычислить статистику, отличную от этой, вы можете дополнительно обработать таблицу OUTSTATS, чтобы создать список переменных, которые имели некоторые различия (на NDIF
).
Пример:
data have1 have2;
do row = 1 to 100;
array x(100);
do _n_ = 1 to dim (x);
x(_n_) = _n_ * 1000 + floor(50*ranuni(123)) - 25;
end;
output have1;
* every 5th row in every 5th column have2 could be different;
if mod(row,5) = 0 then
do _n_ = 1 to dim (x);
if mod(_n_,5) = 0 and ranuni(123) < _n_ / 100 then x(_n_) + _n_;
end;
output have2;
end;
run;
proc compare noprint
base=have1
compare=have2
out=differences
outstats=summary_stats
outnoequal
;
run;
* review summary_stats;
* need more stats than in summary_stats ?
* get list of variables have some differences;
proc sql;
reset noprint;
select _var_
into :vars_that_differed separated by ' '
from summary_stats
where _TYPE_ = 'NDIF' and (_BASE_ ne 0 or _COMP_ ne 0)
;
quit;
* show the variables that would used in VAR statement of subsequent MEANS or UNIVARIATE;
%put NOTE: &=vars_that_differed;
----- LOG -----
NOTE: VARS_THAT_DIFFERED=x5 x10 x20 x25 x30 x35 x40 x45 x50 x55 x60 x65 x70
x75 x80 x85 x90 x95 x100