* example2.sas * xref: * input: blex.sas * output: * does - Example how to use GEE macro. - The data step generates data at random. Its details are not important. What matters is that it generates variables:y, id, x1-x5. - Notice that x2-x3 are cluster-level covariates, while x4-x5 are observation-level covariates, x1=intercept. - Cluster size 10,000. ***************************************************; filename BLEX "blex.sas"; %include BLEX; * options mprint; ***************************************************; data A; * generate a dataset; k = 100; * # clusters; n = 10000; * cluster size; beta1 = 1; * parameter values; beta2 =-0.5; beta3 = 0; beta4 =-0.5; beta5 = 0.5; sigma = 0.5; seed = 2141994; retain x1 1 ; array x x1-x5; array beta beta1-beta5; do id = 1 to k; * one cluster; e = rannor(seed); x2 = rannor(seed); x3 = rannor(seed); do j = 1 to n; * one obs.; x4 = rannor(seed); x5 = rannor(seed); lp = e * sigma; * linear predictor; do l=1 to dim(beta); lp=lp+x[l]*beta[l]; end; p = 1/(1+exp(-lp)); y = (ranuni(seed) <= p); output; end; * one obs.; end; * one cluster; keep id y x1 - x5 ; run; ***************************************************; title2 "A minimal run"; %gee ( data=A, /* required: dataset name */ yvar=y, /* required: response 0/1 */ xvar=x1 x2 x3 x4 x5, /* required: covariates */ id=id ); /* required: cluster id */ ***************************************************;