使用SAS中的多个值计算变量

时间:2016-06-23 17:09:52

标签: sas bioinformatics

我有一个患者的数据集和他们某些疾病的发病年龄。我想看看这些发病年龄相对于十年的频率。然而,一些患者有多种疾病,导致多发病年龄。

数据看起来像这样。如果患者没有患病,则年龄为0岁。

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

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

最后,我想做一些像

这样的事情
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;

1 个答案:

答案 0 :(得分:1)

获取你的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;