Forecasting using SAS Forecast Server, SAS/ETS, and more

How to loop over variables for a proc reg

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 75
Accepted Solution

How to loop over variables for a proc reg

Ok, I should explain the header better.

Let's say I have a data set like this:

 

PERMNO    DATE    Y     X1     X2      X3

A                   100     xx    xx      xx      xx

A                   100     xx    xx      xx      xx

A                   100     xx    xx      xx      xx

B                 ......

B

B

C

C

C

 

Basically, I want  to run multiple regression models. 

For example, Y ~ x1. Y~ x2, Y~X3, ...

In my real data set there are more than 10 variables.

 

I know that for a single model, I can run something like this:

proc reg data = have out = want;
    by permno date;
    model y = x1;
run;

But what shoud I do if I want to do a loop through my variables, so that I get all of models, y ~ x1, y~x2, y~x3 in one table. Can it possibly done in one proc reg, or should I define multiple ones and append them together?

 

I appreciate any help.

Thanks!


Accepted Solutions
Solution
‎03-07-2017 09:37 AM
Respected Advisor
Posts: 4,919

Re: How to loop over variables for a proc reg

[ Edited ]
Posted in reply to Shayan2012

Transform your data and use by processing. Here is an example with sashelp.class:

 

data longClass;
set sashelp.class;
array a{*} age height;
do i = 1 to dim(a);
    var = vname(a{i});
    value = a{i};
    output;
    end;
drop i age height;
run;

proc sort data=longClass; by sex var; run;

proc reg data=longClass plots=none;
by sex var;
model weight = value;
run;
PG

View solution in original post


All Replies
Solution
‎03-07-2017 09:37 AM
Respected Advisor
Posts: 4,919

Re: How to loop over variables for a proc reg

[ Edited ]
Posted in reply to Shayan2012

Transform your data and use by processing. Here is an example with sashelp.class:

 

data longClass;
set sashelp.class;
array a{*} age height;
do i = 1 to dim(a);
    var = vname(a{i});
    value = a{i};
    output;
    end;
drop i age height;
run;

proc sort data=longClass; by sex var; run;

proc reg data=longClass plots=none;
by sex var;
model weight = value;
run;
PG
Frequent Contributor
Posts: 75

Re: How to loop over variables for a proc reg

Thanks a lot, PGstats!
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 322 views
  • 2 likes
  • 2 in conversation