BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ammarhm
Lapis Lazuli | Level 10

Hi everyone, 

I am trying to calculate the standardised incidence ratio using event rates observed in a cohort of patients during our study and comparing that to expected rates in the background population of an outcome. 

The data file can be loaded using the code below, and contains age group (in 5 years intervals), follow up time in the study per age group expressed as person-year, the number of events observed in our study, and finally, the expected rates of the event of interest in the background population (these numbers are taken from the Australian Bureau of Statistics).

data Study;
infile cards dlm=" 	"; 
input AgeGroup PersonYear ObservedEvents ExpectedRate;
datalines;
0	3.187542779	0	0.0000010000
5	17.83367557	0	0.0000010000
10	105.2190281	0	0.0000000000
15	228.3169062	0	0.0000010000
20	345.8637919	1	0.0000011667
25	347.238193	2	0.0000010000
30	325.2368241	0	0.0000015714
35	289.4476386	5	0.0000030323
40	217.0006845	2	0.0000056774
45	237.1403149	0	0.0000133548
50	268.3819302	3	0.0000255161
55	296.0999316	3	0.0000468065
60	228.3620808	2	0.0000705806
65	166.2388775	3	0.0001121935
70	90.23819302	1	0.0001589355
75	49.30732375	0	0.0002208065
80	23.21560575	2	0.0002692903
85	10.38877481	0	0.0003176452
;
run;

Basically, you can use the follow-up time in person-year and multiply it by the expected event rate to get the number of expected events in the study population, and from there calculate the standardised incidence ratio using the approach described here:

https://epiville.ccnmtl.columbia.edu/interactive/sir.html

However, doing this manual calculation has a number of disadvantages, such as not (directly) getting the 95% confidence intervals and p-value .

I have been doing some reading including experimenting with proc stdrate, but I cannot figure out how to use proc stdrate on my dataset. From what I understand you need follow up time and events in the background population (rather than the rates) to calculate SIR.

I am quite stuck here, I cannot get the population number/ age distribution data for Australia to use in my calculation. I wonder if anyone could please assist in implementing stdrate or any other SAS procedure to calculate SIR from the table above?

Thank you. 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
StatDave
SAS Super FREQ

See the Getting Started example in the PROC STDRATE documentation which shows how the SMR can be computed. While that example has event counts and person-year values in the reference population data set, you can get the same SMR estimate in that example if you create a rate variable in the reference data set (rate=event/pyear*100000;) and then replacing the EVENT= and TOTAL= options with the RATE= option in the REFERENCE statement. Specify the new rate variable in the RATE= option.

View solution in original post

2 REPLIES 2
StatDave
SAS Super FREQ

See the Getting Started example in the PROC STDRATE documentation which shows how the SMR can be computed. While that example has event counts and person-year values in the reference population data set, you can get the same SMR estimate in that example if you create a rate variable in the reference data set (rate=event/pyear*100000;) and then replacing the EVENT= and TOTAL= options with the RATE= option in the REFERENCE statement. Specify the new rate variable in the RATE= option.

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 1926 views
  • 1 like
  • 2 in conversation