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!
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.