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

match=1;

output;

end;

stop;

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

end;

run;

你可能感兴趣的:(2021-07-19 data步多对多横向合并)