全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9566 9
2010-05-30
各位牛人,大家好!我在做病例对照的配对抽样,现有2个库,一个是病例库200个,一个是对照库3000个,我想进行1:1匹配。在对照库中给每个病人找与病例性别相同,年龄2岁内的一个对照。病例库k变量有age1, sex1, id1,对照库l变量有age2, sex2, id2。用proc sql把符合条件的都找出来了,可是会存在:几个病人有可能有同一个对照,这个怎么解决,各位有其他好的抽样方法吗?在google上找到一篇《利用SAS 進行個案對照研究配對抽樣》,可是现在不能下载。谢了!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-5-30 18:09:23
%macro result(m);
data a;
set case;
where didian=&m.;
call symput("min"||left(_n_),min);
call symput("max"||left(_n_),max);
run;
data b;
set control;
where didian=&m.;
run;
%mend result;
%macro crackman(min,max,out);
data woody;
set b;
where age>&min. and age<&max.;
run;
proc surveyselect data=woody method=srs rep=1 sampsize=1 seed=5488 out=&out. noprint;
id _all_;
run;
data _null_;
set &out.;
call symput("id",id);
run;
data b;
set b;
where id^=&id.;
run;
%mend crackman;
%macro crackman1(n);
%do i=1 %to &n.;
  %result(&i.);
%do j=1 %to &n.;
%crackman(&&min&j.,&&max&j.,a&j.);
proc append base=c  data=a&j.;
run;
%end;
%end;
proc datasets library=work nolist;
delete a1-a10;
run;
quit;
%mend crackman1;
%crackman1(10);
二维码

扫码加我 拉你入群

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

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

2010-5-30 18:12:58
之前问过我
我就发上来了
你仔细看看
二维码

扫码加我 拉你入群

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

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

2010-5-30 23:02:16
kutuomonk 发表于 2010-5-30 17:56
各位牛人,大家好!我在做病例对照的配对抽样,现有2个库,一个是病例库200个,一个是对照库3000个,我想进行1:1匹配。在对照库中给每个病人找与病例性别相同,年龄2岁内的一个对照。病例库k变量有age1, sex1, id1,对照库l变量有age2, sex2, id2。用proc sql把符合条件的都找出来了,可是会存在:几个病人有可能有同一个对照,这个怎么解决,各位有其他好的抽样方法吗?在google上找到一篇《利用SAS 進行個案對照研究配對抽樣》,可是现在不能下载。谢了!
If a matched character is defined by a number of catagorical variables including binned variables, then SAS proc surveyselect with stratified sampling may help in your case.
二维码

扫码加我 拉你入群

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

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

2010-5-31 08:37:58
还是人大经济效率高!!!啊
二维码

扫码加我 拉你入群

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

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

2011-5-5 09:07:50
看这里,很好的解决方法!
https://bbs.pinggu.org/thread-1091720-1-1.html
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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