SAS语句精讲:函数与PROC SQL实战

需积分: 10 3 下载量 177 浏览量 更新于2024-07-18 1 收藏 453KB PPTX 举报
"sas语句精讲 - 中国人民大学sas语句精讲ppt,包含讲义、实证和代码,适合初学者" SAS(Statistical Analysis System)是一种广泛应用于统计分析、数据挖掘和预测建模的软件系统。本讲义主要讲解了几个关键的SAS语句和函数,包括其在实际数据处理中的应用。 首先,我们来看SAS函数。在示例中,`datam14`和`datam12`是数据集,`nobs`是一个内置变量,表示数据集中观测的数量。`_n_`是一个自动变量,它随着数据步的执行递增,表示当前观测的顺序。`keep`, `nobssize`, `mv`是保留变量的指令,决定在创建新数据集时要包含哪些变量。`run`语句用于结束数据步。 接着,我们看到一些常见的SAS函数: 1. `**` 用于进行乘方运算,如 `data1=nobs**2;` 计算观测数的平方。 2. `int` 函数用于取整,`data2=int(size);` 取size变量的整数值。 3. `ceil` 返回大于等于变量值的最小整数,`data3=ceil(size);` 用于得到size向上取整的结果。 4. `floor` 返回小于等于变量值的最大整数,`data4=floor(size);` 得到size向下取整的结果。 5. `sqrt` 计算平方根,如 `data5=sqrt(data1);` 对数据1的结果求平方根。 6. `exp` 函数计算指数,`data6=exp(nobs-1);` 表示e的(nobs-1)次方。 7. `log10` 提供以10为底的对数,`data7=log10(asset);` 对资产变量取以10为底的对数。 8. `round` 函数用于四舍五入,`data8=round(size,0.01);` 保留两位小数后进行四舍五入。 9. `mod` 函数计算余数,`data9=mod(nobs,2);` 得到nobs除以2的余数。 10. `sign` 函数返回符号,`data10=sign(log(mv)-log(asset));` 如果mv的对数大于asset的对数,返回1;相等返回0;小于则返回-1。 11. `max` 和 `min` 分别用于找到两个数中的最大值和最小值,`data11=max(log(mv),log(asset));` 和 `data12=min(log(mv),log(asset));` 分别找到mv和asset对数中的最大值和最小值。 接下来,我们讨论PROC SQL语句。PROC SQL是SAS中用于执行SQL查询的过程。与传统的SQL不同,PROC SQL在SAS环境中提供了更高级的功能和集成。例如: - `SELECT` 语句用于从数据集中选择特定的变量或计算表达式,`CREATE TABLE` 用于创建新的数据表。 - 使用 `NOPRINT` 选项可以避免在输出窗口显示数据。 - PROC SQL可以连续执行,直到遇到 `QUIT` 语句、`DATA` 步或另一个SAS过程。这意味着不需要在每个SQL语句前都写 `PROC SQL`。 - `RUN` 语句在PROC SQL中无效,它主要用于数据步的结束。 在提供的示例中,`selectyrret+0asret,` 创建了一个新的列,将yrret加上0(保持原值),并命名为ret。`input(stkcd,12.)asstock,` 读取stkcd变量,并使用12.作为输入格式将其转换为数字类型,命名为stock。`year(date)asyearformat4., month(date)asmon` 分别提取date变量的年份和月份信息,并指定格式。 这份资料提供了SAS函数和PROC SQL的基础知识,对于学习和理解SAS编程非常有帮助,尤其适合初学者进行实践操作和理解。通过这些基本语句和函数,你可以开始进行简单的数据处理、分析和报表生成。随着技能的提升,可以进一步探索SAS的高级特性和统计分析能力。