BookmarkSubscribeRSS Feed
kalbaugh
Calcite | Level 5

I'm trying to get the 'number at risk' (n in my code below) using xaxistable on my sgplot figure. However, I was expecting the 'n' to be aligned with the x axis timepoints (0, 6, 12, 18, 24, 30, and 36). Instead, the n is showing up at every timepoint where there is an actual change. So there are many more 'n' on the figure than needed - and not the ones I want. Does anyone know how to get the 'n' for your predefined x axis timepoints? My code is below. Figure is attached.

 

proc sgplot data=b11 ;

step x=fuptime y=s/group=trivex name='s' ;

xaxistable n / x=fuptime class=trivex location=outside colorgroup=trivex separator

;

 

styleattrs

datacontrastcolors=(black gray)

datalinepatterns=(solid);

format trivex trivex.;

yaxis values=(0.5 to 1.0 by 0.1);

xaxis values=(0 to 36 by 6);

yaxis label="Proportion of Patients with No Ulcer Recurrence (%)";

 

label fuptime=Length of Follow-Up (Months);

label trivex=Phlebectomy;

 

keylegend 's';

run;

4 REPLIES 4
arodriguez
Lapis Lazuli | Level 10

You could edit your dataset to delete n content when timepoint is not in your list.

Reeza
Super User

Yes, I would recommend editing the data. Use timelist option in proc lifetest to limit data. 

Jay54
Meteorite | Level 14

Suggestions by Reeza and Rodriguez are in the right direction.  See the SAS 9.4 (last) example in the Survival Plot article.  While the Step plot uses X=TIME, the xaxistable uses the optional X=TATRISK.  See the data set shown in the article.  TATRISK has non-missing values only at 0, 500, 1000 and so on, so the ATRISK values are shown only where TATRISK is non-missing.  Full program is provided in a link at the bottom of the article.

kalbaugh
Calcite | Level 5

Thanks everyone! Huge help.

All the best,

Corey

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1896 views
  • 3 likes
  • 4 in conversation