- 博客(12)
- 收藏
- 关注
原创 proc format 用数据集创建输出格式
data scale; input sex:$char2. sexs:$char2.; datalines; 男 M 女 F ;run;data ctrl; length label $11; set scale(rename=(sex=start sexs=label)) end=last;/*parent数据集scal,需要有start,end label三个变量,最后要加上其他没有收集到format的取值,笼统的做成一个值*//*start~end 组成format左边的范围,.
2022-04-21 14:44:50 687
原创 supp 和rdomain连接
/*SDTM domain和ADSL数据集合并*/%macro adam(sddomain=);data adsl;set adam.adsl ;rename usubjid=usubjid_ ;drop studyid;run;data supp; set sashelp.vcolumn; where libname="SDTM" and memname=upcase("supp&sddomain.");run;%let dataset=%sysfunc(open(supp));.
2022-04-19 10:26:53 229
原创 relrec调取对应domain数据
/*sdtm为需要调用变量的domain;relid为两个domain组合做成的relid需要确认顺序;var为需要调用的变量;adam为正在做的adam数据集*/%macro relrec(sdtm=,relid=,var=,adam= );data rel; set sdtm.relrec; where find(relid,&relid.) ; IDVARVAL_=input(IDVARVAL,best.);proc sort;by usubjid relid;run;pro.
2022-04-19 10:22:36 336
原创 统计描述——定性资料
/*format整个table第二层行变量*/data qualitaty;run; /*avalc要分析的定量变量,ord1在table的第一层排序,item1第二层行名称,where筛选条件,ord2第二层行名称在table中的排序*/%macro qualitaty(avalc=,ord1=,item1=,where=,ord2=);/*筛选原数据集中满足条件的观测,以及设置未知变量取值*/ data bh_; set bh; where &where.; if lowca.
2022-04-19 10:11:56 172
原创 统计描述——定量资料
data quantify;run; /*按人群筛选好的数据集data,where筛选出符合条件的param ,ord1为param在table中的位置*/%macro quantify(data=,where=, param=,ord1=);data length; set &data.; where aval ne . and &where.; if find(put(aval,best.),".")=0 then do;leng=1;pleng=8.0;format pl.
2022-04-19 10:02:03 102
原创 判断数据集中,某个变量是否存在
%macro clas(data=,);proc contents data=&data. out=class1 noprint;run;proc sql noprint; select name into:name1 separated by " " from class1;quit;%if %index(%upcase(&name1.),AGE)=0 %then %put no age here;/*!!!!!!age不加引号*/%else %do; data cla.
2021-10-22 14:43:22 930
原创 macro中判断有无观测或变量(open)
%macro cla; data class; set sashelp.class;/* if name ne "" then delete;*/run;%let class_=class;%let dsid=%sysfunc(open(&class_.));/*dsid为打开的class数据集*/%let nobs=%sysfunc(attrn(&dsid,nobs));/*nobs为观测数*/%let nvars=%sysfunc(attrn(&dsid,.
2021-10-22 14:04:44 129
原创 关于EPOCH的逻辑
1.sdtm.se 把每个受试者试验的整个阶段,划分为以阶段为单位的几部分,最后的落脚点为变量epoch。一般情况下它的取值为SCREENING、TREATMENT、FOLLOW-UP;2.需要merge的数据集去重,并且付给受试者id和se一样的格式后,用proc sql,on usubjid=usubjid,se.epoc赋值给epoch_;3.ord是为了决定cmstdtc等于se的其中一个时间时,到底算是哪一个epoch。 left join一对多连接,每一个epoch都有对应上一条cmdt
2021-09-16 16:01:35 825
原创 20210720 sas 笔记
1.proce report图表拥有多层变量,就是某几个变量形成一个组,它们上面有统一的名字,这个时候可以用括号把这些变量括起来,在最前面写上文本:column(“Variable Group I” var1 var2 var3);2.proc content;需要通过变量属性进行运算的时候,可以把属性放入一个数据集,然后调用proc contents data=sashelp.class out=class noprint;run;待续。。。。。。。...
2021-07-20 17:40:21 226
原创 纵向操作数据及corr/all
1.table1中排除与table2的交集 :except;2.table1与table2的交集 :intersect;3.table1与table2的并集 :union;执行过程分两步:1均删除重复值;2执行合并操作。all :保留全部观测(不删除重复);corr :与EXCEPT连用,INTERSECT和UNION删除两个表中名称不相同的任何列;与OUTER UNION一起使用时,将覆盖同名列,并显示名称不匹配而没有覆盖的列。注:all和corr都加在合并方式...
2021-07-20 17:21:27 200
原创 常用的proc sql
基本语法:proc sql;select 变量;from 数据集;where 筛选条件;group by 分组变量;having 分组后变量;order by 排序变量;quit;1.操作变量与值select选择变量;通过函数或表达式计算值,用”as+变量名“生成新变量并赋值,以及label,format对新变量进行格式修改,select语句中同一个变量的操作在一个”,“前进行。2.逻辑判断(case when)case when 条件1 ...
2021-07-20 10:05:26 1626
原创 2021-07-19 data步多对多横向合并
书上的例子(page148);需求:判断伴随药物是否与副作用(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...
2021-07-19 14:15:54 160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人