【问题标题】:How to count variable values' frequency in SAS如何在SAS中计算变量值的频率
【发布时间】:2013-10-20 05:08:48
【问题描述】:

这是我的数据:

ID VALUE
1    1
2   -1
3    1
4    1
5    1
1    1
2    1
3   -1
4    1
5   -1
...

我怎样才能得到这样的表:

ID value=1  value=-1
1    2         0 
2    1         1
3    1         1
4    2         0
5    1         1

value=1 表示1 在每个 ID 的值列中出现的次数

【问题讨论】:

    标签: count sas frequency


    【解决方案1】:
    data work.indata    ;
    input ID VALUE;
    cards;  
    1    1
    2   -1
    3    1
    4    1
    5    1
    1    1
    2    1
    3   -1
    4    1
    5   -1
    ;
    run;
    
    /*    
    proc sort data=work.indata;
    by ID;
    run;
    */
    
    proc freq noprint data=work.indata;
    tables ID * VALUE /out=WORK.COUNTS nopercent ;
    run;
    
    
    proc transpose data=WORK.COUNTS out=work.output (drop=_name_ _label_);
    id value;
    by id;
    var count;
    run;
    

    【讨论】:

    • 你不需要那个 proc 排序。
    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多