Hi everyone,
I want to run regression a on b. However, I want to have separate coefficients for b+ (positive b) and b- (negative b).
Model is a = alpha + beta1*abs(b+) + beta2*abs(b-)
Thank you so much,
Use BY processing:
data test;
set myData;
absB = abs(b);
signB = b >= 0; /* Consider zero positive */
run;
proc sort data=test; by company_ID; run;
proc glm data=test;
by company_ID;
class signB;
/* Same intercept */
model a = absB*signB / solution;
run;
PG
Something like this:
data test;
set myData;
absB = abs(b);
signB = b >= 0; /* Consider zero positive */
run;
proc glm data=test;
class signB;
/* Same intercept */
model a = absB*signB / solution;
run;
PG
Hi PGStats,
In the case that I want to run this regression for each company (company_ID), how cai I modify the code?
Thank you so much,
Use BY processing:
data test;
set myData;
absB = abs(b);
signB = b >= 0; /* Consider zero positive */
run;
proc sort data=test; by company_ID; run;
proc glm data=test;
by company_ID;
class signB;
/* Same intercept */
model a = absB*signB / solution;
run;
PG
Hi PGstats,
Thank you so much for your help,
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.