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;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.