options mprint symbolgen;
%macro univariate_plot(indata,invar,target,numgrps);
data srv_work.temp4plot (keep= &invar. &target.) Zeros4plot (keep= &invar. &target.) miss4plot (keep= &invar. &target.);
set srv_work.&indata.;
if &invar. = 0 then output zeros4plot;
if &invar. = . then output miss4plot;
else output srv_work.temp4plot;
run;
proc rank data=srv_work.temp4plot groups=&numgrps. out= srv_work.temp4plot;
Var &invar.;
ranks R_&numgrps.;
run;
data srv_work.fin4plot;
set srv_work.temp4plot;
run;
proc sql;
create table srv_work.t_collapsed as
select R_&numgrps.,
count(*) as N,
sum(&target.) as sum_&target.,
avg(&invar.) as M_&invar.,
avg(&target.) as &target.,
min(&invar.) as &invar.
from srv_work.fin4plot
group by r_&numgrps.;
quit;
SYMBOL1 COLOR=blue VALUE=Triangle HEIGHT=2 width=2 INTERPOL=NONE;
SYMBOL2 INTERPOL=NONE COLOR=red HEIGHT=2 VALUE=diamond WIDTH=2;
proc gplot data=srv_work.t_collapsed;
legend1 value=( "default_risk");
legend2 value=( "Number of observations");
plot &target.*&invar. / legend=legend1;
plot2 N*&invar./overlay legend=legend2;
run;
quit;
%mend;
/*Graph – Independent Variable Vs Dependent Variable */
/* Converting Total Number of observations into 40 Groups */
%univariate_plot(with_var,dlq_at_lm,default,40);
%macro univariate_plot(indata,invar,target,numgrps);
data srv_work.temp4plot (keep= &invar. &target.) Zeros4plot (keep= &invar. &target.) miss4plot (keep= &invar. &target.);
set srv_work.&indata.;
if &invar. = 0 then output zeros4plot;
if &invar. = . then output miss4plot;
else output srv_work.temp4plot;
run;
proc rank data=srv_work.temp4plot groups=&numgrps. out= srv_work.temp4plot;
Var &invar.;
ranks R_&numgrps.;
run;
data srv_work.fin4plot;
set srv_work.temp4plot;
run;
proc sql;
create table srv_work.t_collapsed as
select R_&numgrps.,
count(*) as N,
sum(&target.) as sum_&target.,
avg(&invar.) as M_&invar.,
avg(&target.) as &target.,
min(&invar.) as &invar.
from srv_work.fin4plot
group by r_&numgrps.;
quit;
SYMBOL1 COLOR=blue VALUE=Triangle HEIGHT=2 width=2 INTERPOL=NONE;
SYMBOL2 INTERPOL=NONE COLOR=red HEIGHT=2 VALUE=diamond WIDTH=2;
proc gplot data=srv_work.t_collapsed;
legend1 value=( "default_risk");
legend2 value=( "Number of observations");
plot &target.*&invar. / legend=legend1;
plot2 N*&invar./overlay legend=legend2;
run;
quit;
%mend;
/*Graph – Independent Variable Vs Dependent Variable */
/* Converting Total Number of observations into 40 Groups */
%univariate_plot(with_var,dlq_at_lm,default,40);
No comments:
Post a Comment