BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
jing2000yr
Calcite | Level 5

I have a dataset from a longitudinal study to compute incidence rate and the confidence interval.I need to compute the number of new cases(the number of the variable 'case'=1) divided by the sum of the total person-years.Need your kindly help on the coding.Thanks!

The example dataset is like

case    pyr

1          3

0          5

0         5

1         3.4

0         5

0        5

0        5

1       2.1

0       5

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

Assuming you want to sum the pyr only for the new cases :

data have;
input ase    pyr;
datalines;
1          3
0          5
0         5
1         3.4
0         5
0        5
0        5
1       2.1
0       5
;

data want(keep=newCases sumPyr ratio);
do until(done);
     set have end=done;
     if ase then do;
          newCases + 1;
          sumPyr + pyr;
          end;
     end;

ratio = newCases / sumPyr;
run;

proc print data=want noobs; run;

PG

PG

View solution in original post

2 REPLIES 2
PGStats
Opal | Level 21

Assuming you want to sum the pyr only for the new cases :

data have;
input ase    pyr;
datalines;
1          3
0          5
0         5
1         3.4
0         5
0        5
0        5
1       2.1
0       5
;

data want(keep=newCases sumPyr ratio);
do until(done);
     set have end=done;
     if ase then do;
          newCases + 1;
          sumPyr + pyr;
          end;
     end;

ratio = newCases / sumPyr;
run;

proc print data=want noobs; run;

PG

PG

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 2 replies
  • 4908 views
  • 0 likes
  • 2 in conversation