DATA Step, Macro, Functions and more

Create least squares line of Y on X separately for a dichotomous variable

Reply
Occasional Contributor
Posts: 12

Create least squares line of Y on X separately for a dichotomous variable

Hello,

 

I am having trouble finding a way to obtain the least squares line of PIC (Y) on YNG (X) separately for a dichotomous variable. 

Latin America: Y= B1 +B2X

Africa: Y= B1 + B2X

sas question.PNG

 

 

This is the code I am using, but I doubt I am getting the right results:

data q2;
set work.ch12q02;
run; proc print;run;

proc glm data=q2;
class COUNTRY;
model PCI=YNG COUNTRY / solution;
lsmeans COUNTRY;
run; proc print; run;

 

Output:sas ques.PNG

 Please help,

 

Thank you!

 

 

Regular Contributor
Posts: 164

Re: Create least squares line of Y on X separately for a dichotomous variable

[ Edited ]
Posted in reply to aespinarey

interaction, so you have separate slopes for each country:

 

proc glm data=q2;
class COUNTRY;
model PCI=country YNG*COUNTRY / solution;
lsmeans COUNTRY;
run;

 

or use a where statement to subset:

 

proc glm data=q2 (where=(country="XXXX"));
model PCI=YNG/ solution;

lsmeans YNG;
run;

--------------
blog: papersandprograms.com
Esteemed Advisor
Posts: 5,541

Re: Create least squares line of Y on X separately for a dichotomous variable

[ Edited ]
Posted in reply to aespinarey

The intercept and slope estimates will be given directly by:

 

/* Common error variance */

proc glm data=ch12q02;
class country;
model pci = country country*yng / noint solution;
run;

/* or, separate error variance for each country */

proc glm data=ch12q02;
by country notsorted;
model pci = yng / solution;
run;
PG
Ask a Question
Discussion stats
  • 2 replies
  • 43 views
  • 0 likes
  • 3 in conversation