作者mulala (MM)
看板Statistics
标题Re: [问题] sas 依照分群新增变数
时间Sun Dec 12 19:27:18 2010
※ 引述《mulala (MM)》之铭言:
: ※ 引述《imaltar (..)》之铭言:
: : 改自13051 socery大的程式
: : 假设资料是
: : data a;input id var1;
: : cards;
: : 1 1
: : 1 2
: : 1 3
: : 1 1
: : 1 2
: : 2 1
: : 2 2
: : 2 1
: : 2 2
: : 2 3
: : ;
: : run;
: : data a1;
: : set a;by id;n=1;
: : if first.id then do;
: : if n=1 then var2=1; retain var2;end;
: : else if var1=1 then var2=var2+1;
: : if last.id then ;drop n;
: : run;
: : 参考看看~~~
: 不行耶~我只能做到每遇到VAR=1时,VAR2会做累加的动作,
: 但是每遇到ID为另一个群组时,我就无法重新计算
: ID VAR1 VAR2
: 1 1 1
: 1 2 1
: 1 1 2
: 1 2 2
: 2 1 3
: 2 2 3
: 2 3 3
: 2 1 4
: 2 2 4
: 2 3 4
: 我不知道该如何以ID为群组做累计
我刚刚试出来了
DATA A;
SET AA;
BY ID;
LAG_ID=LAG(ID);
IF ID NE LAFG_ID THEN VAR2=1;
RETAIN VAR2;
ELSE IF VAR1=1 THEN VAR2=VAR2+1;
RUN;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.135.120.233