BookmarkSubscribeRSS Feed
Emrys
Calcite | Level 5

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?

4 REPLIES 4
data_null__
Jade | Level 19

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.

Emrys
Calcite | Level 5

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?

Doc_Duke
Rhodochrosite | Level 12

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.

PGStats
Opal | Level 21

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

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 927 views
  • 3 likes
  • 4 in conversation