2021-07-19 data步多对多横向合并

书上的例子;

需求:判断伴随药物是否与副作用(AE)相关;

逻辑条件:(时间顺序)副作用开始时间是在伴随药物开始时间之后;一个副作用可能由多个药物造成,一个药物可能造成多个副作用。即在满足时间条件下,临床根据生物学合理性做最后判断。

code:1 proc sql  (inner join)

        2 data 步;

data aecm;

set ae;

match=0;

do i=1 to n;

set cm(raname=(usubjid=_usubjid)) nobs=n point=i;

/*nobs=n 将数据集观测数(总数)传给临时变量(非输出变量),nobs后只能跟数值;

point=i(i=1)获取第一条观测。注意不能写成point=1,因为point后面只能跟变量,也可以用point=i来获取一连串值,使用do循环:*/

if usubjid=_usubjid and ((cmstdtc<aestdtc<cmendtc) or (cmstdtc<aestdtc and cmendtc="")  then do;

match=1;

output;

end;

stop;

/*注意stop语句绝对不能省略,否则进入死循环。*/

end;

run;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一课:安装与基本操作 R的扩展包在R官网CRAN;另外,R官网还包含很多扩展资料,包括源代码,手册,FAQ,推荐...
    lizi_sjtu阅读 698评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,429评论 0 3
  • Documentation Supported OS & SDK Versions 支持的OS & SDK版本 S...
    c5550ea746f8阅读 4,477评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 不管是写listing,还是table,都有可能遇到数据集为空的情况,如果不加以判断,且用到proc sql对数据...
    林芷文的日常碎碎念阅读 3,616评论 0 2