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!
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;
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;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.