Programming the statistical procedures from SAS

how to specify strata specific effects in PHREG?

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 102
Accepted Solution

how to specify strata specific effects in PHREG?

How to i modify the following sample code to get the strata specific effects for a and b? thanks

 

proc phreg data = abc;

    class a b;

    model time*event(0) = a b;

    strata c d;

run;


Accepted Solutions
Solution
‎05-16-2018 03:19 PM
Super Contributor
Posts: 305

Re: how to specify strata specific effects in PHREG?

Posted in reply to alexchien

Hi Alexchien,

 

It is important to understand that the strata statement in PHREG means that the baseline hazard function can depend on the variables you put in the strata statement. The variables you put in the model statement will have same effect across the strata variables - unless ofcourse you have also putted the strata variables in the model line.

 

If you want the effect of A and B to depend of the level of C and D, then you can do as follows:

 

data simulation;
  do i=1 to 1000;
    A=rand('bernoulli',0.5);
    B=rand('bernoulli',0.5);
    C=rand('bernoulli',0.5);
    D=rand('bernoulli',0.5);
	t=rand('exponential',10);
	output;
  end;
run;

proc phreg data=simulation;
  class A B C D/param=glm;
  model t=A*C*D B*C*D;
  hazardratio A/at(C=all D=all);
  hazardratio B/at(C=all D=all);
run;

*or, if you want each strata to has its own baseline hazard function, you should also use the strata statement;


proc phreg data=simulation;
  class A B C D/param=glm;
  model t=A*C*D B*C*D;
  strata C D;
  hazardratio A/at(C=all D=all);
  hazardratio B/at(C=all D=all);
run;

Notice that you need the "glm" parametrization to make the interactions effects that allows you to use C and D as effectmodifiers.

 

View solution in original post


All Replies
Solution
‎05-16-2018 03:19 PM
Super Contributor
Posts: 305

Re: how to specify strata specific effects in PHREG?

Posted in reply to alexchien

Hi Alexchien,

 

It is important to understand that the strata statement in PHREG means that the baseline hazard function can depend on the variables you put in the strata statement. The variables you put in the model statement will have same effect across the strata variables - unless ofcourse you have also putted the strata variables in the model line.

 

If you want the effect of A and B to depend of the level of C and D, then you can do as follows:

 

data simulation;
  do i=1 to 1000;
    A=rand('bernoulli',0.5);
    B=rand('bernoulli',0.5);
    C=rand('bernoulli',0.5);
    D=rand('bernoulli',0.5);
	t=rand('exponential',10);
	output;
  end;
run;

proc phreg data=simulation;
  class A B C D/param=glm;
  model t=A*C*D B*C*D;
  hazardratio A/at(C=all D=all);
  hazardratio B/at(C=all D=all);
run;

*or, if you want each strata to has its own baseline hazard function, you should also use the strata statement;


proc phreg data=simulation;
  class A B C D/param=glm;
  model t=A*C*D B*C*D;
  strata C D;
  hazardratio A/at(C=all D=all);
  hazardratio B/at(C=all D=all);
run;

Notice that you need the "glm" parametrization to make the interactions effects that allows you to use C and D as effectmodifiers.

 

Frequent Contributor
Posts: 102

Re: how to specify strata specific effects in PHREG?

Posted in reply to JacobSimonsen

thanks for the explanation. 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 142 views
  • 2 likes
  • 2 in conversation