作者kenshin528 (成立奥凶帝国!!)
站内Statistics
标题Re: [程式] SAS同一组内更改变数的方法
时间Thu Mar 11 17:50:02 2010
DATA test;
SET origin; /*原始档*/
IF dum1 = 1 THEN dum2 = 1;/*产生一个新的变项作为对照组*/
IF first.id THEN dum2 = dum1;
RETAIN dum2 0;
BY ID;
dum1=dum2; /*让旧变项等於新变项*/
DELETE dum2; /*删去新变项*/
RUN;
你试试看吧 感觉起来应该有更简单的写法
※ 引述《paochien (烦躁的调子)》之铭言:
: ------------------------------------------------------------------------
: [软体程式类别]:
: SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 新手(不到1个月)
: [问题叙述]:
: 我的资料是长这样
: Obs ID year DUM1
: 1 A 2001 0
: 2 A 2002 1
: 3 A 2003 0
: 4 A 2004 0
: 5 B 1993 1
: 6 B 1994 0
: 7 B 1995 0
: 8 C 1996 0
: 9 C 1997 0
: 10 C 1998 1
: 11 C 1999 1
: 12 C 2000 0
: Dum1是利用其他变数做为criteria而得的一个dummay variable
: 现在的问题是想要把同一间公司只要dum1是1之後的所有年份都该为1
: 就会变成
: Obs ID year DUM1
: 1 A 2001 0
: 2 A 2002 1
: 3 A 2003 1
: 4 A 2004 1
: 5 B 1993 1
: 6 B 1994 1
: 7 B 1995 1
: 8 C 1996 0
: 9 C 1997 0
: 10 C 1998 1
: 11 C 1999 1
: 12 C 2000 1
: 我翻了一些书也找了一些网站,是过lag来加减看看
: 可是最後的结果都会有一些被漏掉没改成1
: 不知道各位前辈有没有比较好的办法可以指点一下<(_ _)>
: 新手很笨的问题请多包涵Orz
--
(
C)lass 【 分组讨论区 】
11 卡漫梦工厂 卡通, 漫画, 动画 [Ckmike]
4 C_J_Artist
作家 Σ日本漫画家专区 [Ckmike]
10 TakahasiShin 作家 ◎****高桥真作品讨论版**** kenshin528
http://kenshinsasstory.blogspot.com/ SAS Story
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.92.238
1F:推 paochien:谢谢K大!!! 我还没学到retain... Orz 03/11 18:25
2F:→ paochien:不过第六到第八行可以帮我解释一下吗??感谢>///< 03/11 18:26