楼主: crazygoing
26454 39

[程序分享] 病例对照、匹配(配对)抽样 SAS 程序(原创) [推广有奖]

31
lpapple2013 发表于 2014-12-20 22:16:38 |只看作者 |坛友微信交流群
SPSS能实现吗

使用道具

32
zhuyinchao 发表于 2015-7-16 16:51:43 |只看作者 |坛友微信交流群
楼主,你好,用了你的关于匹配的程序,我有几个问题想请教:1:如果ID不是唯一的,结果会怎么样?2、有没有一组对照和病例的标识?

使用道具

33
aicnzheng 发表于 2017-11-24 20:04:13 |只看作者 |坛友微信交流群

楼主,宏变量&k好像没什么意义,可以删除

使用道具

34
superguy333 发表于 2017-11-25 10:27:30 |只看作者 |坛友微信交流群
楼主,抽样是什么概念呀,请详细描述,有什么条件,比如随机(记录条数有限制吗?)、指定变量类型(如性别?)。

使用道具

35
bazzinga 发表于 2017-12-1 15:44:36 |只看作者 |坛友微信交流群
5楼的思路还是非常棒的,接着他的思路,在匹配的数据final集后面增加一个变量,取值为所匹配病例的id取值;后面再用proc surveyselect,分组为新增加的变量既能满足要求;通过n=还可以控制是1:N的随机挑选

使用道具

36
bazzinga 发表于 2017-12-1 15:46:45 |只看作者 |坛友微信交流群
  1. proc sql noprint;*case control selection 病例对照挑选;
  2. create table final as
  3. select a.id as id,
  4.      a.var1 as var1,
  5.      a.var2 as var2,
  6.      a.name as name,
  7.      a.age as age,
  8.      a.gender as gender,
  9.      b.id as label /*这步比较重要*/
  10. from case_c a, case b
  11. where a.var1=b.var1
  12. and   a.var2=b.var2
  13. and   a.gender=b.gender
  14. and abs(a.age-b.age) le 2
  15. and a.id^=b.id
  16. ;
  17. quit;
复制代码

使用道具

37
我不是浆糊 发表于 2019-4-13 12:31:07 |只看作者 |坛友微信交流群
jeozu 发表于 2014-4-28 22:14
这个代码加上随机抽样时刻以匹配病例对照,但是没有办法保证匹配出来的对照不重复,不知道楼主有没有什么好办法?

使用道具

38
chengqiuting 发表于 2019-4-16 14:41:05 来自手机 |只看作者 |坛友微信交流群
zhuyinchao 发表于 2015-7-16 16:51
楼主,你好,用了你的关于匹配的程序,我有几个问题想请教:1:如果ID不是唯一的,结果会怎么样?2、有没有 ...
你好,这个问题我也想问,请问您解决了吗

使用道具

39
chengqiuting 发表于 2019-4-16 15:33:36 来自手机 |只看作者 |坛友微信交流群
crazygoing 发表于 2014-4-30 10:07
核心的程序已经有了, 病例和对照数据集都生成了,然后把他们的横向合并就简单了。 我的需求是纵向的合并 ...
楼主你好,请问,case和control一一对应的配对号可以得到吗?

使用道具

40
13858872205 发表于 2022-7-6 22:58:58 |只看作者 |坛友微信交流群
crazygoing 发表于 2014-8-18 12:42
这个就是提示你work里面没有sample数据呀,你的 数据集是sample?放到work里了没?
我也出现了这个问题,数据集命名是js,导入到work了,不知道问题在哪

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 11:11