1645 3

[问答] 关于multiple observation per subject的问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
99 点
帖子
5
精华
0
在线时间
13 小时
注册时间
2014-2-13
最后登录
2020-3-15

楼主
々弦斷→誰聽 发表于 2014-7-23 04:10:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现在我想做一组关于房贷违约的数据。原始数据如下
ID delinquency_status
1   0
1   0
1   1
1   2
1   3
1   4
1   5
1   0
1   1
2   0
...  ...
假设delinquency_status等于3的时候就为真正违约(0为没有违约;1为违约30天;2为违约60天;3为违约90天;4为违约120天;但只有违约90天才定义为真正违约),我需要创立一个新的变量,假设为X。对于同一个ID的观察值,如果DS(delinquency_status)=0或者1或者2时,X=0;当DS=3时,X=1;且DS=3之后对于相同ID的观察值X=.(missing)。
因为不同ID的观察值都有几十万个所以手动是不可能的。
需要得出的结果是:
ID delinquency_status X
1   0                            0
1   0                            0
1   1                            0
1   2                            0
1   3                            1
1   4                            .
1   5                            .
1   0                            .
1   1                            .
2   0                            0
...  ...                           ...

求大神们帮忙,小弟刚开始学习SAS捣鼓了半天都没有一点头绪。
拜谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:observation Multiple observat Subject multip multiple

沙发
FB_FLORA 发表于 2014-7-23 09:43:37
data ds;
input id ds;
order=_n_;
datalines;
1   0
1   0
1   1
1   2
1   3
1   4
1   5
1   0
1   1
2   0
;
proc sort data=ds;
by id order;
run;
data wanted;
set ds;
by id order;
retain x;
if first.id then x=0;
if x=0 then do;
        if ds in(0,1,2) then x=0;
        else if ds=3 then x=1;
end;
else if x=1 then x=.;
else x=.;
run;

藤椅
wwang111 发表于 2014-7-23 10:07:24
data wanted;
set a;
retain x1;
if id ne lag(id) then x1=0;
if ds=3 then x1=1;
if x1=1 and ds ne 3 then call missing(x1);
if x1=0 and ds not in (0 1 2) then flag=1;
x=x1;
if flag then call missing(x);
drop x1 flag;
run;

板凳
々弦斷→誰聽 发表于 2014-7-23 19:46:27
谢谢各位大神倾囊相助~问题解决了!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 13:40