SAS系统在第3章第三章 3.ppt
文本预览下载声明
例2:选择数据集sashelp.class中的观测生成新数据集work.class,要求其中的观测满足条件:年龄大于14岁的男生。
data class;
set sashelp.class ;
if sex=M and age14;
run;;2)WHERE语句
一般形式:
WHERE 条件表达式;
功能:对读入PDV中的观测进行选择,只有使表达式成立的观测才被保留。
说明:WHERE操作符:只能在WHERE语句中使用的比较运算符。
变量 BETWEEN 值1 AND 值2
变量的值包含在值1和值2构成的的范围内。
变量 CONTAINS ‘字符串’
变量中包含字符串
例如例2用WHERE语句代替IF语句可写为:
where sex=‘M’ and age14; ;3)WHERE选项
一般形式:
(WHERE = (条件表达式))
功能:对观测进行选择,只有使表达式成立的观测才被写入目的数据集。
说明:
1)可用于SET语句或DATA语句中。
2)一个数据步中可以在SET或DATA语句中同时出现WHERE选项,同时还可以有WHERE语句。
例2可用以下数据步实现:
data class (where=(sex=M));
set sashelp.class (where=(age14)) ;
run;;2.2 源数据集选项
在源数据集或源数据文件读入PDV时,可通过设置此选项控制读入的起始行和终止行。
一般格式如下:
( [ FIRSTOBS = 起始行号 ] [ OBS = 终止行号 ] )
功能:指定读取源数据集或源文件的起始行和终止行。
说明:
1)应用于SET或INFILE语句中;
2)系统在缺省情况下读取所有观测或数据行。
例3:读取sashelp.class中的第4条到第10条观测,生成新的数据集work.class。
data class;
set sashelp.class (firstobs=4 obs=10);
run;;3.有关变量的数据加工
3.1 选择变量
方法:数据步中设置KEEP=和DROP=选项,或加入KEEP和DROP语句,
1)KEEP和DROP语句
一般形式:
KEEP 变量1 变量2 …… ;
DROP 变量1 变量2 …… ;
功能:
KEEP语句:列出的是在新数据集中要保留的变量,
DROP语句:列出的是在新数据集中要删除的变量。;例4:如下图所示,在SAS系统中有数据集sashelp.class,其中包含了5个变量:Name、Sex、Age、Height、Weight。
如果我们希望构造一个新数据集work.class,其中仅包含变量Name、Age、Height。可通过以下数据步实现: ;data class;
set sashelp.class;
drop sex weight;
run;
也可将上例中的DROP语句替换为如下KEEP语句:
keep name age height;
则在VIEWTABLE窗口中打开work.class可看到如下结果: ;2)数据集选项KEEP和DROP
一般形式:
(KEEP = 变量1 变量2 …… )
(DROP = 变量1 变量2 …… )
功能:
KEEP选项:列出的是在新数据集中要保留的变量,
DROP选项:列出的是在新数据集中要删除的变量。
说明:
(1)可用于SET语句或DATA语句中。
(2)一个数据步中可以在SET或DATA语句中同时出现KEEP或DROP选项,同时还可以有KEEP或DROP语句。但此时需要注意避免变量的冲突。 ;对于例4也可以用以下数据步实现:
data class(keep=name age height);
set sashelp.class;
run;
DATA语句也可写为:
data class(drop=sex weight);
或:
data class;
set sashelp.class(keep=name age height);
run;
SET语句也可写为:
set sashelp.class(drop=sex weight);;3.2 变量的创建与赋值
在数据加工过程中不仅可以舍弃不需要的变量,还可以创建新的变量并对其进行赋值。
1) 赋值语句
一般形式:
变量名 = 表达式;
功能:
如果等号左端的变量已经存在于数据集中,则修改改变量的值;
如果数据集中
显示全部