全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
1436 3
2014-09-03
现有数据格式如下:
id       随访次数      疾病发生
1         1                   0
1         2                   0
1         3                   1
1         4                   1

2          1                 0
2          2                 0                  
2          3                1
2          4                 1
2          5                 0
2          6                 1
2          7                 0
每个id的随访次数不一样,现在想根据“随访次数”生成一个新变量Y,以表示疾病发生的时间。例如,id为1的个案所对应的Y应为3(随访次数),id为2的个案对应的Y是3和6.捣腾了很久还是没有结果,求高手指点,万分感谢


二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-3 17:23:11
“id为2的个案对应的Y是3和6”?是指连续的1只取第一个?
如果是的话,可以用data步一步完成

data want;
set have;
retain y;
by id;
if id=lag(id) and 疾病发生=1 and lag(疾病发生)=0 then y=catx(',',y,随访次数);
run;

随手写的,没有验证过,如果有问题稍微改改应该就能用
二维码

扫码加我 拉你入群

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

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

2014-9-3 17:37:54
playmore 发表于 2014-9-3 17:23
“id为2的个案对应的Y是3和6”?是指连续的1只取第一个?
如果是的话,可以用data步一步完成
你好,首先非常感谢!
“id为2的个案对应的Y是3和6”?是指只要前一次随访结果是0,下一次随访结果是1,就都要取值。
二维码

扫码加我 拉你入群

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

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

2014-9-3 17:43:54
初见夏日枫叶 发表于 2014-9-3 17:37
你好,首先非常感谢!
“id为2的个案对应的Y是3和6”?是指只要前一次随访结果是0,下一次随访结果是1, ...
如果是连续的1,就可以忽略。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群