【问题标题】:Count Variable with multiple values in SASSAS中具有多个值的计数变量
【发布时间】:2016-06-30 23:27:30
【问题描述】:

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

数据如下所示。如果患者没有患病,则年龄为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;

【问题讨论】:

  • 您当前的解决方案有什么问题?此外,十年在这里如何适应?您提到了它,但它不在您的示例数据集中。
  • @superfluous 我要统计每十年发病的疾病数量,比较哪些十年比较常见,比较疾病的进展等等。
  • 第一个表需要多解释。我建议按疾病区分发病和/或如果疾病相关,则查看首次发病。
  • 您对患有多种疾病的患者的数据是什么样的?您是否对一位这样的患者进行过多次观察?我认为您的原始帖子不清楚。

标签: sas bioinformatics


【解决方案1】:

获取你的年龄组变量,然后我喜欢 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;

【讨论】:

    猜你喜欢
    • 2018-01-03
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多