I am using proc glm in SAS to find the estimates per unit change of exposure for the response variables. How could I modify my code so that it would calculate the estimates per 10 units or per SD change of the exposure variables? Here is my code:
PROC GLM DATA=MyData PLOTS=NONE;
CLASS &ClassAdj;
MODEL &TraitList = &PVar &ClassAdj &ContAdj / SOLUTION E;
%IF &ByVars ^= %THEN BY &ByVars;;
QUIT;
You can change the input data by standardizing it so each continuous variable has a standard deviation of 1.
Use PROC STDIZE with METHOD=STD
Per 10 Units:
You don't have to modify your code, you can just multiply the regression coefficients by 10.
Per 1 SD unit change
As above, you just need to multiply the regression coefficients by the proper number.
Or you could modify the input data, but that isn't what you asked.
You can change the input data by standardizing it so each continuous variable has a standard deviation of 1.
Use PROC STDIZE with METHOD=STD
You can also consider using the ESTIMATE statement in PROC GLM to estimate what you wanted. For example, if the model is --
model y=x1 x2 x3;
then estimate 'change in y for 10 units change in x1' x1 10;
estimate ' change in y for sd=3.4 units change in x1' x1 3.4;
might get what you wanted.
.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.