美文网首页
SAS学习笔记——三种逻辑结构、数组及数组的简单应用

SAS学习笔记——三种逻辑结构、数组及数组的简单应用

作者: 飘乐云 | 来源:发表于2019-12-05 19:44 被阅读0次

    SAS基本要素

        SAS数据集(两种):SAS数据文件,SAS视图。一个逻辑库下可见数据集文件和视图文件。

        SAS语法规则(两种):SAS名语法规则、SAS语句语法规则。

    三种逻辑结构

      1. 顺序结构(即一般的结构)

      2.选择结构(if-else语句

      3.循环结构(do语句,do-while语句,do-utile语句


    循环结构

        1. do语句循环:do-end语句的衍生,可以指定起始值和终止值;

        2. do-while语句循环:先判断是否满足条件,满足则执行循环,不满足则跳出循环;

        3. do-utile语句循环:先执行一次循环,再判断,满足则跳出循环,不满足则继续执行循环;


    SAS数组

    若是想对多个变量执行相同的操作,使用数组批量执行这些操作,可以大幅提高效率。

    1.定义数组的一般式:arry 数组名 [小标 ]  <$>  <数组元素 >  <(数组元素初始值)>

        说明:“下标”指的是数组元素个数“数组元素”列出来的可以是已有变量也可以是新变量;新变量需要指定初始值,不然默认为缺失值;如果新变量是字符型,需要在前面加上$符合,即: array[数组元素个数] $ 数组元素 (数组元素初始值)。 

    示例:arry sbp[7]  sbp1-sbp7;  *数组中下标可以是一个数。

               array dbp[1:7]  dbp1-dbp7;  *数组中下标也可以是一个范围。

               array dbp[ *]  dbp1-dbp7;  *数组中下标也可以不写,SAS自动根据变量个数判断下标值。

               array dbp[ 7]  ; *数组中“数组元素”可以不写。

       带初始值

        arry sbp{1:7} sbp1-sbp7 (163 164 167 171 158 159 165); 

        arry dbp{1:7} dbp1-dbp7 (98 99 95 93 94 93 95);  * “元素初始值”一定要用() 括起来,各个值之间用逗号或空格隔开。

        二维数组

         array bp{2,1:7} sbp1-sbp7  dbp1-dbp7;

         array bp(2,7)   sbp1-sbp7    dbp1-dbp7(163 164 167 171 158 159 165 

    数组定义的注意事项

    (1)数组名不能与数据集中已有变量重名,也不要与已有函数同名;

    (2)一个数组的变量类型必须相同,不能既有数值型,又有字符型。

    (3)数组下标的写法可以用[ ]、()、{},依个人习惯而定。

             array[数组元素个数],  array(数组元素个数),  array{数组元 素 个数}。

    2.访问数组的一般形式:arrayname{i}.  例如:sbp{i}, sbp{2}。

    3.数组函数 dim(): 返回数组所含元素个数。

      例:array cha[ ] a b c;

             dim(cha); *返回数组cha的元素个数,返回值为3.

    4.常见自动变量

       _n_ :表示观测或记录的序号。

      _numeric_ :表示数据集中的所有数值型变量。

      _character_ :表示数据集中的所有字符型变量。

      _all_ :表示数据集中所有变量。

    例: array cha[*] _character_ 。

    6. 综合数组、数组函数及自动变量查找缺失值:

    相关文章

      网友评论

          本文标题:SAS学习笔记——三种逻辑结构、数组及数组的简单应用

          本文链接:https://www.haomeiwen.com/subject/kesjgctx.html