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

2019-12-05  本文已影响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. 综合数组、数组函数及自动变量查找缺失值:

上一篇下一篇

猜你喜欢

热点阅读