本次课主要学习一些简单的数据处理,包括以下几个方面:
目的:对数据集中的数据进行预处理,使数据更适合统计分析过程对数据格式的要求
常见整理需求:
建立新的变量,删除某些原变量
求子集
矩阵或数组变换(例如转置)
排序
分组
数据集连接
数据集合并
写入文件
1、用赋值语句建立衍生的新变量
DATA a;
INPUT x y @@;
z=x+y ;
y=y+1;
DATALINES;
1 2 3 4 5 6
;
PROC PRINT;
run;
2、求和语句
DATA A;
INPUT X Y @@;
S+X; /*等于S=S+X
DATALINES;
3 5 7 9 20 21
PROC PRINT;
RUN;
3、RETAIN语句
用于给变量赋初值,并且使变量保持其变化
data a;
z=0;/*这样在赋初值z=0会使得,z每次都是0,最终仍然z=z+x实际是z=0+x
input x @@;
retain y 8;/*retain 赋初值不一样,会使得y初值为8,且y会随着计算而改变,与z情况不一样。
s+x;
y=y+x;
z=z+x;
cards;
2 23 34 45 12 23 12 29 35
;
proc print;
run;
4、drop语句
DATA score;
LENGTH name $ 10;
INPUT name s1 s2 s3;
total=SUM(s1,s2,s3);
DROP s1 s2 s3;
DATALINES;
ZhangLin 78 89 98
WangQiang 95 87 89
PROC PRINT;
RUN;
5、保留变量:KEEP语句
DATA average;
SET score;
KEEP name mean;/*保留某些变量,相当于删除未保留的
mean=total/3;
PROC PRINT;
RUN;
6、条件语句:IF-THEN
Libname ep “c:\saslx”;
data score1;
set ep.score;
ave=MEAN(Computer, C_Languege, English);
IF ave>=85 THEN PUT num name ave;/*put 表示在日志