SAS 中具有多个值的计数变量

Count Variable with multiple values in SAS

我有一个数据集,其中包含患者及其某些疾病的发病年龄。我想看看这些发病年龄相对于十年的频率。但也有部分患者患有多种疾病,导致发病年龄多。

数据是这样的。如果患者没有患病,则年龄为0。

IDNUM    HOHTAge HOGDAge CelDAge
1         25       26       15  
2         65       32       0
3         21       12       59

我在想我需要将它们编译成一个变量并用它们创建一个频率 table,但这可能/有更好的解决方案吗?

最后,我想做点像

IF AgeOnset LE 29 THEN AGEGROUP = 0;
ELSE IF 30 LE AgeOnset LE 39 THEN AGEGROUP = 1;
ELSE IF 40 LE AgeOnset LE 49 THEN AGEGROUP = 2;
ELSE IF 50 LE AgeOnset LE 59 THEN AGEGROUP = 3;
ELSE IF AGEOnset GE 60 THEN AGEGROUP = 4;

PROC FREQ; TABLES AGEGROUP;

得到你的年龄组变量然后我喜欢 proc sql

proc sql;
    create table agegroups as
    select 
     count(case when HOHTAge>0 then 1 end) as HOHT_freq,
     count(case when HOGDAge>0 then 1 end) as HOGD_freq
     from dataset 
     group by AGEGROUP;
quit;