美文网首页SAS编程
如何判断某个周期不存在

如何判断某个周期不存在

作者: SASPRO的打工人生活 | 来源:发表于2021-07-31 19:30 被阅读0次

    今天跟我妈聊了一会,刚好角度从下往上,看到她的脖子,我去,真的太吓人了,就是很多皱纹的那种,可能这段时间瘦了比较多,然后也56岁了。心里感慨万千,好在脸看起来还是很饱满,皱纹也看不出来。

    以前我妈也是一个大胖子,但是随着年龄的增加,加上一些疾病,导致越来越瘦了,现在对赚多赚少不是那么在意了,只希望父母家人和自己身体健康就好了。

    这几天遇到一个问题,就是对于肿瘤评估,如何判断某一个周期是否按照计划进行?有一点需要注意:

    不能只对数据集里存在的周期进行判断,比如说进行到96周了,但是后续肯定还是需要进行评估的,如果后面来了新数据,不是又得去修改吗?

    同时假设第一年每8周进行一次评估,第二年每12周进行一次评估,这在编程的时候也是需要注意的。

    我的思路是求出每个受试者目前进行到的最大周期,然后反推出之前应该出现哪些周期,最后理应出现周期的数据集和原始数据集一merge,就会出现日期为空的观测,最后筛选出这些空的观测就是本来应该进行的评估周期。

    程序如下:

    data test;

    input id $ tuweek :$9. tudat :$19.;

    cards;

    001 周期1  2021-07-30

    001 周期8 2021-07-30

    001 周期16 2021-07-30

    001 周期24 2021-07-30

    001 周期32 2021-07-30

    002 周期1 2021-07-30

    002 周期8 2021-07-30

    002 周期16 2021-07-30

    002 周期24 2021-07-30

    002 周期48 2021-07-30

    002 周期60 2021-07-30

    002 周期72 2021-07-30

    002 周期84 2021-07-30

    002 周期96 2021-07-30

    002 周期108 2021-07-30

    003 周期1 2021-07-30

    003 周期16 2021-07-30

    003 周期24 2021-07-30

    003 周期32 2021-07-30

    004 周期1 2021-07-30

    ;

    run;

    data test2;

    set test;

    number=input(compress(tuweek,,"kd"),best.);

    run;

    proc sql noprint;  **求出数据集中出现的最大周期,之后反推理应进行的周期;

    create table countt as

    select id ,max(number) as count from test2

    group by id;

    quit;

    proc sort nodupkey data=test2 out=test3;

    by id ;

    run;

    **根据最大周期算出每个受试者应该出现的周期,同时受试者以后可能还会有肿瘤评估,所以不要指定周期,否则每次都得改;

    data test4;

    merge test3(keep=id) countt;

    by id ;

    if count>48 then do; **大于一年每12周进行一次评估;

    do num=0 to 48 by 8;

    output;

    end;

    do num=60 to count by 12;

    output;

    end;

    end;

    else do;

    do num=0 to count by 8; **小于一年每8周进行一次评估;

    output;

    end;

    end;

    run;

    data test5;

    length tuweek $9.;

    set test4;

    tuweek="周期"||strip(put(num,best.));

    if tuweek="周期0" then tuweek="周期1";

    proc sort;by id tuweek;

    run;

    proc sort data=test;by id tuweek;run;

    data test6;

    merge test test5;

    by id tuweek;

    run;

    -----------------------------------------------

    哎,了解跳槽之后的同事的工资,真的太羡慕和心动了,我感觉如果拿到ta那个工资,每个月可以存到1万+,日子也不用过的坑坑巴巴的。工作两年多了,啥自由都没实现!连点个外卖还得挑三拣四的,选配送费少的甚至没有的,选红包金额大的!yue~~~

    相关文章

      网友评论

        本文标题:如何判断某个周期不存在

        本文链接:https://www.haomeiwen.com/subject/rxykvltx.html