【问题标题】:how to add others in formats in sas如何在sas中添加其他格式
【发布时间】:2018-01-27 03:32:58
【问题描述】:

我正在尝试使用格式表来查找 ICD 代码。

我正在导入一个包含两列 icd_code 和 cancer_type 的 csv 格式表 我的主要数据集有两列 Patient_id 和 icd。

所以我可以使用这些格式来查找 icd 代码并在 CANCER 列中返回癌症类型。但是,当某些 icd 代码不在格式表中时,CANCER 列将只返回 ICD 值本身。所以我想要 PROC FORMAT 的 VALUE 中有一个“other = *”。由于我有超过 200 种不同的癌症类型,因此无法在 PROC FORMAT 中按 VALUE 将它们一一添加。当 ICD 代码不在格式表中时,有没有办法做到这一点,它不能返回它自己的值?

感谢您的帮助!

DATA FORMAT; SET FORMAT_TABLE(RENAME = (ICD_CODE = START CANCER_TYPE = LABEL));
RETAIN FMTNAME '$CANCER_TYPE';
RUN;

PROC FORMAT LIB = LIBRARY
    CNTLIN = CAL.FMT;
RUN;

DATA LOOKUP_DATA; SET DATA;
    CANCER = PUT(ICD, $CANCER_TYPE.);
RUN;

【问题讨论】:

    标签: sas formatting


    【解决方案1】:

    CNTLIN 数据集将需要额外的一行来指定 其他 值的标签。

    DATA MY_CNTLIN; 
      SET 
        FORMAT_TABLE(RENAME = (ICD_CODE = START CANCER_TYPE = LABEL)) 
        END = LAST_CODE
      ;
    
      RETAIN FMTNAME '$CANCER_TYPE';
    
      OUTPUT;
      IF LAST_CODE THEN DO;
        hlo='O';
        label='*';
        OUTPUT;
      END;
    RUN;
    

    阅读 SAS 文档了解更多详情。 Proc FORMAT, CNTLIN=, Input Control Data Set

    【讨论】:

      猜你喜欢
      • 2020-10-31
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多