#SAS进阶-SAS宏实例解析

本文介绍了SAS宏的几个实例,包括使用宏变量进行异常值检查,批量合并数据集,统计单个变量和所有变量的分布。通过这些例子,详细讲解了宏的使用方法和常见操作,帮助读者深入理解SAS宏的运用。
摘要由CSDN通过智能技术生成

好了,这周算是有些时间来更新一下咯~按照之前的约定,今天我就写一下sas宏的一些例子的解析,例子均为在学习中遇到的作业习题,是自己在初步学习sas宏之后写出来的,可能写得并不是最优的解法,若有,希望大家可以和我提出来呀嘻嘻~

0?wx_fmt=jpeg

话不多说,马上开始今天的sas宏的例子解析,今天我准备了一些例子,顺序也是按照难度来排的,会介绍一下宏的基本用法以及一些常见的错误,希望可以帮助到大家学习~


好了,之前有同学问我的sas代码颜色有什么含义,那我今天就统一解释一下。

/*这种颜色*/ :一般为注释,就是对这一行代码进行解释性说明,不会算入代码运行中;

proc:这种颜色一般为语法主体部分,一般出现在代码开头以及结尾;

output:这种颜色一般为语法中的关键字;

q1_age:这种就是普通代码了,没有什么特别含义,但也是最重要的东西。



例1:使用宏变量,对user表的age进行异常值检查,以1.5倍iqr作为异常值界限,  将含有异常值的记录以SAS数据集单独存储。


proc univariate data=hw1.Q3 noprint;/*proc univariate是sas中用于输出统计量的proc步常用过程*/

    var age; /*设置你要统计的变量*/

    output out=hw1.range_age /*设置输出数据集*/

    q1=q1_age /*统计上界*/

    q3=q3_age /*统计下界*/

    QRANGE=iqr_age; /*统计iqr,即q3-q1的值*/

run;


/*使用data步定义宏,对q1,q3,iqr进行初始化*/

data _null_;

    set hw1.range_age;

    call symput('q3',q3_age);

    call symput('q1',q1_age);

    call symput('iqr',iqr_age);

run;


/*引用宏变量,并将输出结果输出到新数据集q41中*/

data hw1.q41;

    set hw1.q3;

    if age<&q1-1.5*&iqr|age>&q3+1.5*&iqr

    then output;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值