作者faceoflove56 (1234567)
看板Statistics
标题[程式] SAS 请问如何让栏位等於上一栏位的值
时间Tue Aug 11 15:46:48 2015
[软体程式类别]:
SAS
[程式问题]:
资料处理
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
小弟原先想写的语法为
Data xxx;
Set xxx;
If ID=lag(ID) and overconfidence=lag(overconfidence) then over confidence=1;
Run;
白话来说,如果某人某年overconfidence栏位为1,那麽该人往後overconfidence栏位皆
为1
目前表格为
Year ID overconfidence
1991 A .
1992 A .
1993 A 1
1994 A .
1995 A .
1992 B .
1993 B 1
1994 B .
1995 B .
结果应像下表
Year ID overconfidence
1991 A 0
1992 A 0
1993 A 1
1994 A 1
1995 A 1
1992 B 0
1993 B 1
1994 B 1
1995 B 1
请各位协助,感谢
[程式范例]:
同上
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.119.120.6
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1439279211.A.1A6.html
1F:→ faceoflove56: 刚刚尝试使用retain overconfidence . 08/11 16:20
2F:→ faceoflove56: 即使我加了by ID,结果可以达到等於上一笔值 08/11 16:21
3F:→ faceoflove56: 但无法依照每一ID来做,其他ID的overconfidence 08/11 16:22
4F:→ faceoflove56: 一开始就会全变成1 08/11 16:22
5F:推 realtemper: lag函数必须放在if的条件外面使用,同样的问题你两个 08/11 20:15
6F:→ realtemper: 月前不是问过了吗? 08/11 20:16
7F:→ realtemper: 如果我讲的不清楚,看看你自己的文章 #1LWEPMbY 下面 08/11 20:16
8F:→ realtemper: 前辈的推文,应该讲得很清楚 08/11 20:16
9F:推 tew: retain 08/11 21:36