- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 10028 个
- 通用积分
- 22.7632
- 学术水平
- 21 点
- 热心指数
- 26 点
- 信用等级
- 19 点
- 经验
- 3133 点
- 帖子
- 164
- 精华
- 0
- 在线时间
- 170 小时
- 注册时间
- 2007-11-4
- 最后登录
- 2019-5-18
博士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
- 10028 个
- 通用积分
- 22.7632
- 学术水平
- 21 点
- 热心指数
- 26 点
- 信用等级
- 19 点
- 经验
- 3133 点
- 帖子
- 164
- 精华
- 0
- 在线时间
- 170 小时
- 注册时间
- 2007-11-4
- 最后登录
- 2019-5-18
|
50论坛币
求教一段很基本的sas macro! 非常感谢!
我有三个sas file: background, lab_bp, drug都存在我以下路径里, 同一个文件夹下里还有lab_xt, lab_sp, lab_hbp共10个和lab_bp一样结构的数据集,要求写一段macro来替换以下所有含lab_bp的变量(把lab_bp改为lab_xt, lab_hbp等等),由于需要merge,所以lab_bp变为其他lab_*的话会产生新的一个数据集new1,new2, new3...而后面所有分析都是针对新merge而成的数据集new i 来做的。总之我的macro变量有两个,一个是lab_*, 另一个是新数据集new&i (由lab_*和其它两个不变的数据集生成的).
我用lab_bp写的code如下,如何把这个作用于同一个文件夹下其他lab_*?希望大家帮我在我的code上加入macro,谢谢!.- LIBNAME TEST "C:\DOCUMENT\DATA\";
- data new_background;
- set TEST.background;
- run;
- data new_lab_bp;
- set TEST.lab_bp;
- run;
- data new_drug;
- set TEST.drug;
- run;
- proc sort data=new_background;
- by id;
- run;
- proc sort data=new_lab_bp;
- by id;
- run;
- proc sort data=new_drug;
- by id;
- run;
- data new1;
- merge new_background
- new_lab_bp
- new_drug;
- by id;
- proc print data=new1 (firstobs=1 obs=10) noobs;
- run;
- proc univariate data=new1;
- var age;
- run;
- /*以下还有好多proc都是针对数据new1,最后会永久保存一下new1*/
- data TRY.new1;
- set new1;
- run;
- /*结束*/
复制代码 |
|