SAS中文论坛

标题: 问一个将数据进行分类的问题 [打印本页]

作者: shiyiming    时间: 2010-8-17 21:00
标题: 问一个将数据进行分类的问题
以下是数据,我需要根据VAR的值对每个ID进行分类,比如基于每个ID的VAR取值的25%、50%和75%分位数,把每个ID的记录分成四类(需要另外加一个变量),谢谢各位高手 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->  <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->

data n;
input ID VAR;
cards;
001 80
001 20
001 30
001 12
001 43
001 62
002 40
002 25
002 60
002 32
002 62
002 34
002 68
003 10
003 75
003 20
003 19
003 72
003 12
003 20
003 15
;
作者: shiyiming    时间: 2010-8-18 09:07
标题: Re: 问一个将数据进行分类的问题
[code:1vsxfsqj]data raw;
        input ID $ VAR;
cards;
001 80
001 20
001 30
001 12
001 43
001 62
002 40
002 25
002 60
002 32
002 62
002 34
002 68
003 10
003 75
003 20
003 19
003 72
003 12
003 20
003 15
;
proc univariate data=raw noprint;
        var var;
        class id;
        output out=temp pctlpts=25 50 75 pctlpre=p;
run;
proc sql;
        create table out as
                select  a&#46;*,
                                case
                                        when var le p25 then 1
                                        when p25 lt var le p50 then 2
                                        when p50 lt var le p75 then 3
                                        when p75 le var then 4
                                        else &#46;
                                end as TYPE
                        from raw a,temp b
                        where a&#46;id=b&#46;id
                        order by a&#46;id,var;
quit;[/code:1vsxfsqj]
作者: shiyiming    时间: 2010-8-18 09:33
标题: Re: 问一个将数据进行分类的问题
谢谢版主 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->  <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
作者: shiyiming    时间: 2010-8-18 23:43
标题: Re: 问一个将数据进行分类的问题
good job




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2