Help using Base SAS procedures

Survival Analysis, using Score, Breslow method

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 17
Accepted Solution

Survival Analysis, using Score, Breslow method

Hello community,

I have no identifiable data or data that is confidential. I have the following code to give output for a score test using Breslow's method. The log tells me there is an issue with the 11 censored variables, maybe not reading in. I tried an ELSE statement in my code in the set statement and it doesn't fix the error with my output. This is part of a homework question. I am supposed to obtain a p-value of 0.098 for the Breslow score, but obtain a 0.9132... I don't know what I am doing wrong. I think the syntax is correct, because I have output, but I may be missing an option.

The first column of my data represents a dummy variable assignment for type of cancer tumor ( 2 kinds), time observation is the second column, and third column is if the value is censored. From proc phreg the censored value is 0.

Below is my code:

data tcancer;

input type time d;

cards;

1 1 1

1 3 1

1 3 1

1 4 1

1 10 1

1 13 1

1 13 1

1 16 1

1 16 1

1 24 1

1 26 1

1 27 1

1 28 1

1 30 1

1 30 1

1 32 1

1 41 1

1 51 1

l 65 1

1 67 1

1 70 1

1 72 1

1 73 1

1 77 1

1 91 1

1 93 1

1 96 1

1 100 1

1 104 1

1 157 1

1 167 1

1 61 0

1 74 0

1 79 0

1 80 0

1 81 0

1 87 0

1 87 0

1 88 0

1 89 0

1 93 0

1 97 0

1 101 0

1 104 0

1 108 0

1 109 0

1 120 0

1 131 0

1 150 0

1 231 0

1 240 0

l 400 0

2 l l

2 3 l

2 4 1

2 5 l

2 5 1

2 8 l

2 l2 1

2 13 l

2 l8 1

2 23 l

2 26 1

2 27 1

2 30 1

2 42 1

2 56 1

2 62 1

2 69 1

2 104 l

2 104 1

2 112 1

2 129 1

2 181 1

2 8 0

2 67 0

2 76 0

2 104 0

2 176 0

2 231 0

;

run;

data tcan1;

set tcancer;

if type = 1 then zl= 1;

ELSE zl= 0;

run;

proc phreg data=tcan1;

model time*d(0)= zl/ itprint risklimits;

run;


Accepted Solutions
Solution
‎11-03-2014 06:10 PM
Super User
Posts: 19,870

Re: Survival Analysis, using Score, Breslow method

Posted in reply to jengarcia1122

Also, you don't need to create an indicator variable, you should use the class statement instead.

proc phreg data=tcancer;

class type (ref='2')/param=ref;

model time*d(0)= type/ itprint risklimits;

run;

View solution in original post


All Replies
Trusted Advisor
Posts: 1,230

Re: Survival Analysis, using Score, Breslow method

Posted in reply to jengarcia1122

Your input data is not correct. Model is not using full number of observations.

Occasional Contributor
Posts: 17

Re: Survival Analysis, using Score, Breslow method

Thank you

Occasional Contributor
Posts: 17

Re: Survival Analysis, using Score, Breslow method

Thank you

Solution
‎11-03-2014 06:10 PM
Super User
Posts: 19,870

Re: Survival Analysis, using Score, Breslow method

Posted in reply to jengarcia1122

Also, you don't need to create an indicator variable, you should use the class statement instead.

proc phreg data=tcancer;

class type (ref='2')/param=ref;

model time*d(0)= type/ itprint risklimits;

run;

Occasional Contributor
Posts: 17

Re: Survival Analysis, using Score, Breslow method

Thank you for your help Reeza for the new insight

Occasional Contributor
Posts: 17

Re: Survival Analysis, using Score, Breslow method

Reeza, I did the Ctrl+H and it did help me find the lower case l's you found, but I still get a p-valueof 0.1768 for the score test.

I also included your code to not make a new indicator variable, here is the amended code:

data tcancer;

input type time d;

cards;

1 1 1

1 3 1

1 3 1

1 4 1

1 10 1

1 13 1

1 13 1

1 16 1

1 16 1

1 24 1

1 26 1

1 27 1

1 28 1

1 30 1

1 30 1

1 32 1

1 41 1

1 51 1

1 65 1

1 67 1

1 70 1

1 72 1

1 73 1

1 77 1

1 91 1

1 93 1

1 96 1

1 100 1

1 104 1

1 157 1

1 167 1

1 61 0

1 74 0

1 79 0

1 80 0

1 81 0

1 87 0

1 87 0

1 88 0

1 89 0

1 93 0

1 97 0

1 101 0

1 104 0

1 108 0

1 109 0

1 120 0

1 131 0

1 150 0

1 231 0

1 240 0

1 400 0

2 1 1

2 3 1

2 4 1

2 5 1

2 5 1

2 8 1

2 l2 1

2 13 1

2 l8 1

2 23 1

2 26 1

2 27 1

2 30 1

2 42 1

2 56 1

2 62 1

2 69 1

2 104 1

2 104 1

2 112 1

2 129 1

2 181 1

2 8 0

2 67 0

2 76 0

2 104 0

2 176 0

2 231 0

;

run;

proc phreg data=tcancer;

class type (ref='2')/param=ref;

model time*d(0)= type/ itprint risklimits;

run;

Super User
Posts: 19,870

Re: Survival Analysis, using Score, Breslow method

Posted in reply to jengarcia1122

I don't think your data is still being read in properly, does your output for number of events and censored match what I have below?

Summary of the Number of Event and Censored Values

                                                               Percent

                             Total       Event    Censored    Censored

                                80          53          27       33.75

Super User
Posts: 19,870

Re: Survival Analysis, using Score, Breslow method

Posted in reply to jengarcia1122

Here's my input data:


data tcancer;

input type time d;

cards;

1 1 1

1 3 1

1 3 1

1 4 1

1 10 1

1 13 1

1 13 1

1 16 1

1 16 1

1 24 1

1 26 1

1 27 1

1 28 1

1 30 1

1 30 1

1 32 1

1 41 1

1 51 1

1 65 1

1 67 1

1 70 1

1 72 1

1 73 1

1 77 1

1 91 1

1 93 1

1 96 1

1 100 1

1 104 1

1 157 1

1 167 1

1 61 0

1 74 0

1 79 0

1 80 0

1 81 0

1 87 0

1 87 0

1 88 0

1 89 0

1 93 0

1 97 0

1 101 0

1 104 0

1 108 0

1 109 0

1 120 0

1 131 0

1 150 0

1 231 0

1 240 0

1 400 0

2 1 1

2 3 1

2 4 1

2 5 1

2 5 1

2 8 1

2 12 1

2 13 1

2 18 1

2 23 1

2 26 1

2 27 1

2 30 1

2 42 1

2 56 1

2 62 1

2 69 1

2 104 1

2 104 1

2 112 1

2 129 1

2 181 1

2 8 0

2 67 0

2 76 0

2 104 0

2 176 0

2 231 0

;

run;

Super User
Posts: 19,870

Re: Survival Analysis, using Score, Breslow method

Posted in reply to jengarcia1122

You have some "L" instead of 1 in your data, but they're lower case L's so it looks like 1's.

In your SAS code you can highlight the data, find and replace them using CTRL+H and then use the in selection only.

Then you'll get the correct p-value (0.0975)

🔒 This topic is solved and locked.

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

Discussion stats
  • 9 replies
  • 255 views
  • 6 likes
  • 3 in conversation