Help using Base SAS procedures

Regression result confusion

Reply
New Contributor
Posts: 3

Regression result confusion

I got a dataset  (dataset2reg) that with several variables (var1--var10)  and group variables, then i do the regression as following:

Regression A:

proc reg data=dataset2reg outest=result1 edf tableout;

eq1: model var0=var1 var2 var3 var4;

eq2: model var0=var5 var6 var7 var8;

eq3: model var0=var9 var10 var11 var12;

by group;

run;

quit;

Regression B:

proc reg data=dataset2reg outest=result1 edf tableout;

model var0=var1 var2 var3 var4;

by group;

run;

quit;

the result of eq1 of Regression A  is different from Regression B, what's wrong with my regressions?

Respected Advisor
Posts: 3,799

Re: Regression result confusion

Missing Values

PROC REG constructs only one crossproducts matrix for the variables in all regressions. If any variable needed for any regression is missing, the observation is excluded from all estimates. If you include variables with missing values in the VAR statement, the corresponding observations are excluded from all analyses, even if you never include the variables in a model. PROC REG assumes that you might want to include these variables after the first RUN statement and deletes observations with missing values.

New Contributor
Posts: 3

Re: Regression result confusion

Posted in reply to data_null__

many thanks, how to solve this problem? if I want to regress the three equtions, eq1, eq2, eq3, respectively in the only one proc regression, what can i do with the regression A?

Trusted Advisor
Posts: 2,116

Re: Regression result confusion

Data_null gave you the choice.  You can either do 3 PROC REG's and maximize the number of observations for each, or do one PROC REG and have the same number of observations for them all.

Respected Advisor
Posts: 4,927

Re: Regression result confusion

You should be able to assemble the OUTEST= datasets after running separate regressions. Try this :

proc reg data=dataset2reg outest=result01 edf tableout;

eq1: model var0=var1 var2 var3 var4;

by group;

run;

proc reg data=dataset2reg outest=result02 edf tableout;

eq2: model var0=var5 var6 var7 var8;

by group;

run;

proc reg data=dataset2reg outest=result03 edf tableout;

eq3: model var0=var9 var10 var11 var12;

by group;

run;

quit;

data result1;

set result01 result02 result03;

run;


/* Optional */

proc sort data=result1; by group _MODEL_ _TYPE_; run;

PG

PG
Ask a Question
Discussion stats
  • 4 replies
  • 262 views
  • 3 likes
  • 4 in conversation