## Documentation Example 5 for PROC SURVEYREG

```/****************************************************************/
/*          S A S   S A M P L E   L I B R A R Y                 */
/*                                                              */
/*    NAME: SVREX5                                              */
/*   TITLE: Documentation Example 5 for PROC SURVEYREG          */
/* PRODUCT: STAT                                                */
/*  SYSTEM: ALL                                                 */
/*    KEYS: regression, survey sampling                         */
/*    KEYS: stratification, regression estimator                */
/*    KEYS: unequal weighting, linear model                     */
/*   PROCS: SURVEYREG                                           */
/*    DATA:                                                     */
/*                                                              */
/* SUPPORT: Tony An                                             */
/*     REF: PROC SURVEYREG, Example 5                           */
/*                                                              */
/*    MISC: Regression Estimator for Stratified Sample          */
/*                                                              */
/****************************************************************/

data Farms;
input State \$ Region FarmArea CornYield Weight;
datalines;
Iowa     1 100  54 33.333
Iowa     1  83  25 33.333
Iowa     1  25  10 33.333
Iowa     2 120  83 10.000
Iowa     2  50  35 10.000
Iowa     2 110  65 10.000
Iowa     2  60  35 10.000
Iowa     2  45  20 10.000
Iowa     3  23   5  5.000
Iowa     3  10   8  5.000
Iowa     3 350 125  5.000
;

data FarmsByState;
set Farms;
if State='Iowa' then do;
FarmAreaIA=FarmArea;
FarmAreaNE=0;
end;
else do;
FarmAreaIA=0;
FarmAreaNE=FarmArea;
end;
run;

data StratumTotals;
input State \$ Region _TOTAL_;
datalines;
Iowa     1 100
Iowa     2  50
Iowa     3  15
;

title1 'Estimate Corn Yield from Farm Size';
title2 'Model I: Same Intercept and Slope';
proc surveyreg data=Farms total=StratumTotals;
strata State Region / list;
class  State Region;
model  CornYield = FarmArea State*Region /solution;
weight Weight;
estimate 'Estimate of CornYield under Model I'
INTERCEPT 235 FarmArea 21950
State*Region 100 50 15 30 40 /e;
run;

title1 'Estimate Corn Yield from Farm Size';
title2 'Model II: Same Intercept, Different Slopes';
proc surveyreg data=FarmsByState total=StratumTotals;
strata State Region;
class  State Region;
model  CornYield = FarmAreaIA FarmAreaNE
state*region /solution;
weight Weight;
estimate 'Total of CornYield under Model II'
INTERCEPT 235 FarmAreaIA 13200 FarmAreaNE 8750
State*Region 100 50 15 30 40 /e;
run;

title1 'Estimate Corn Yield from Farm Size';
title2 'Model III: Different Intercepts and Slopes';
proc surveyreg data=FarmsByState total=StratumTotals;
strata State Region;
class  State Region;
model  CornYield = state FarmAreaIA FarmAreaNE
State*Region /noint solution;
weight Weight;
estimate 'Total CornYield in Iowa under Model III'
State 165 0 FarmAreaIA 13200 FarmAreaNE  0
State*region 100 50 15  0  0 /e;
estimate 'Total CornYield in Nebraska under Model III'
State 0 70 FarmAreaIA 0 FarmAreaNE 8750
State*Region 0 0 0 30 40 /e;
estimate 'Total CornYield in both states under Model III'
State 165 70 FarmAreaIA 13200 FarmAreaNE 8750
State*Region 100 50 15 30 40 /e;
run;

```