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
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
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
Thanks!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.