## overlaid KM and PH curves with unwanted connecting lines with SGPLOT

Solved
Occasional Contributor
Posts: 6

# overlaid KM and PH curves with unwanted connecting lines with SGPLOT

Hi, I am using SAS University Edition. I am trying to overlay a KM curve and PH curve to see if they match relatively well. I can overlay them, but the PH curves have lines connecting the starting point and ending point. Can someone help me remove these lines?

``````proc phreg data=Allhiv33;
class arm;
model (tL,tR)*status(0)=arm;
baseline out=bb covariates=covs survival=s cumhaz=Ht ;
run;

proc lifetest data=allhiv2 outsurv=c ;
time inf_time*delta(0);
strata arm;
run;

data b_new;
set bb;
length Z \$27;
if arm="DMPA" then Z="PH DMPA";
if arm="IUD" then Z="PH IUD";
run;

data c_new;
set c(rename=(survival=s inf_time=tR));
length Z \$27;
if arm="DMPA" then Z="KM DMPA";
if arm="IUD" then Z="KM IUD";
run;

data both_arms;
set b_new c_new;
run;

proc sgplot data=both_arms;
series x=tR y=s / group=Z ;
run;
** neither sgplot rids of connecting lines;
proc sgplot data=both_arms;
step y=s x=tR / group=z;
run;``````

Accepted Solutions
Solution
4 weeks ago
SAS Super FREQ
Posts: 4,109

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

Try sorting the data before you plot it:

``````proc sort data=both_arms;
by Z tR;
run;``````

All Replies
Posts: 5,391

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

[ Edited ]

Add missing values to create breaks in the lines:

``````data both_arms;
set b_new c_new;
by Z notsorted;
output;
if last.Z then do;
call missing(s);
output;
end;
run;

proc sgplot data=both_arms;
series x=tR y=s / group=Z break;
run;
``````
PG
Occasional Contributor
Posts: 6

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

Thanks PG for replying and helping me with this.

I have tried the suggested code and my problem is still persisting. I am playing around with the break option and trying to set different Y values to missing. Do you think I need to change all values of the last arm or tR (time) for the graph to display correctly. Additionally, maybe I need to also set first values to missing?

Thanks again and any more brain power is appreciated, but obviously not assumed.

Solution
4 weeks ago
SAS Super FREQ
Posts: 4,109

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

Try sorting the data before you plot it:

``````proc sort data=both_arms;
by Z tR;
run;``````
Occasional Contributor
Posts: 6

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

Wow- sorting with the break option worked. Thank you both for helping solve this problem!

SAS Super FREQ
Posts: 4,109

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

I don't think you need the missing values or the BREAK option, but I could be mistaken.

Occasional Contributor
Posts: 6

## Re: overlaid KM and PH curves with unwanted connecting lines with SGPLOT

I just tried it again without the break option, and you're right. I just needed to sort my combined dataset. Thanks for the problem solving!

☑ This topic is solved.